)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"2e78217faf1fc925519f744dd5cee2e2e3aa35e1","unresolved":false,"context_lines":[{"line_number":12,"context_line":"the create connection methods into FileHandle class and ensures that"},{"line_number":13,"context_line":"additional headers and cacerts etc can be passed in for use during"},{"line_number":14,"context_line":"the file upload/download process. Note that the create write connection"},{"line_number":15,"context_line":"uses the httplib bundled in requests/urllib3 as requests does not support the"},{"line_number":16,"context_line":"pattern of exposing a file like object with multiple writes for the"},{"line_number":17,"context_line":"HTTP PUT operation, it only allows one to pass a completely built"},{"line_number":18,"context_line":"file or file like object with data already in memory. We need to be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a890539_e19b37c7","line":15,"updated":"2014-11-11 20:16:43.000000000","message":"There is no httplib bundled in urllib3 (or requests). Urllib3 has some similar classes/APIs to httplib purely out of necessity and the fact that httplib is something used by urllib3.","commit_id":"cb05fccfdbc10b08fa88d324177f1b3908ee1e97"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"fac6ebab919677c71dfef66f7e2b2baf3d686c08","unresolved":false,"context_lines":[{"line_number":12,"context_line":"the create connection methods into FileHandle class and ensures that"},{"line_number":13,"context_line":"additional headers and cacerts etc can be passed in for use during"},{"line_number":14,"context_line":"the file upload/download process. Note that the create write connection"},{"line_number":15,"context_line":"uses the httplib bundled in requests/urllib3 as requests does not support the"},{"line_number":16,"context_line":"pattern of exposing a file like object with multiple writes for the"},{"line_number":17,"context_line":"HTTP PUT operation, it only allows one to pass a completely built"},{"line_number":18,"context_line":"file or file like object with data already in memory. We need to be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a890539_21837f05","line":15,"in_reply_to":"5a890539_e19b37c7","updated":"2014-11-11 20:37:28.000000000","message":"Done","commit_id":"cb05fccfdbc10b08fa88d324177f1b3908ee1e97"}],"oslo/vmware/rw_handles.py":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"2e78217faf1fc925519f744dd5cee2e2e3aa35e1","unresolved":false,"context_lines":[{"line_number":106,"context_line":"                if isinstance(cacerts, bool):"},{"line_number":107,"context_line":"                    if cacerts:"},{"line_number":108,"context_line":"                        cert_reqs \u003d ssl.CERT_REQUIRED"},{"line_number":109,"context_line":"                        cacerts \u003d None"},{"line_number":110,"context_line":"                    else:"},{"line_number":111,"context_line":"                        cert_reqs \u003d ssl.CERT_NONE"},{"line_number":112,"context_line":"                        cacerts \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_de79bafd","line":109,"updated":"2014-11-11 20:16:43.000000000","message":"Wouldn\u0027t this be simpler (and clearer) as\n\n    if isinstance(cacerts, bool):\n        cert_reqs \u003d ssl.CERT_NONE\n        if cacerts:\n            cert_reqs \u003d ssl.CERT_REQUIRED\n        cacerts \u003d None","commit_id":"cb05fccfdbc10b08fa88d324177f1b3908ee1e97"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"fac6ebab919677c71dfef66f7e2b2baf3d686c08","unresolved":false,"context_lines":[{"line_number":106,"context_line":"                if isinstance(cacerts, bool):"},{"line_number":107,"context_line":"                    if cacerts:"},{"line_number":108,"context_line":"                        cert_reqs \u003d ssl.CERT_REQUIRED"},{"line_number":109,"context_line":"                        cacerts \u003d None"},{"line_number":110,"context_line":"                    else:"},{"line_number":111,"context_line":"                        cert_reqs \u003d ssl.CERT_NONE"},{"line_number":112,"context_line":"                        cacerts \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_210d3f91","line":109,"in_reply_to":"5a890539_de79bafd","updated":"2014-11-11 20:37:28.000000000","message":"Done","commit_id":"cb05fccfdbc10b08fa88d324177f1b3908ee1e97"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"d20f44fcf9e9f8e198647a32e1fa97e6cd5cbd24","unresolved":false,"context_lines":[{"line_number":28,"context_line":"import requests"},{"line_number":29,"context_line":"import six"},{"line_number":30,"context_line":"import six.moves.urllib.parse as urlparse"},{"line_number":31,"context_line":"from urllib3 import connection as httplib"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from oslo.utils import excutils"},{"line_number":34,"context_line":"from oslo.vmware._i18n import _, _LE, _LW"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_4c8669ba","line":31,"updated":"2014-11-25 15:05:38.000000000","message":"this is really confusing to me -- why do we want using the new API to look like the old API? we want to replace httplib with urllib3, right?","commit_id":"0509e3bd36d3eff4811f928392ddeec2a470b863"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"f1d4146403a04dbde6bfacb4d9cd6f58591d767b","unresolved":false,"context_lines":[{"line_number":28,"context_line":"import requests"},{"line_number":29,"context_line":"import six"},{"line_number":30,"context_line":"import six.moves.urllib.parse as urlparse"},{"line_number":31,"context_line":"from urllib3 import connection as httplib"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from oslo.utils import excutils"},{"line_number":34,"context_line":"from oslo.vmware._i18n import _, _LE, _LW"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_bb2e1c41","line":31,"in_reply_to":"5a890539_4c8669ba","updated":"2014-11-25 18:55:13.000000000","message":"Rados, what i really want to do is to just use requests, the one scenario here where i still need to figure out how to do it (using file objects with requests). So this is an interim step.","commit_id":"0509e3bd36d3eff4811f928392ddeec2a470b863"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"d20f44fcf9e9f8e198647a32e1fa97e6cd5cbd24","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            if cookies:"},{"line_number":71,"context_line":"                headers.update({\u0027Cookie\u0027:"},{"line_number":72,"context_line":"                                self._build_vim_cookie_header(cookies)})"},{"line_number":73,"context_line":"            response \u003d requests.get(url, headers\u003dheaders, stream\u003dTrue,"},{"line_number":74,"context_line":"                                    verify\u003dcacerts)"},{"line_number":75,"context_line":"            return response.raw"},{"line_number":76,"context_line":"        except Exception as excep:"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_ac4c2d9f","line":73,"updated":"2014-11-25 15:05:38.000000000","message":"why not using urllib3 for both GET and PUT?","commit_id":"0509e3bd36d3eff4811f928392ddeec2a470b863"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"f1d4146403a04dbde6bfacb4d9cd6f58591d767b","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            if cookies:"},{"line_number":71,"context_line":"                headers.update({\u0027Cookie\u0027:"},{"line_number":72,"context_line":"                                self._build_vim_cookie_header(cookies)})"},{"line_number":73,"context_line":"            response \u003d requests.get(url, headers\u003dheaders, stream\u003dTrue,"},{"line_number":74,"context_line":"                                    verify\u003dcacerts)"},{"line_number":75,"context_line":"            return response.raw"},{"line_number":76,"context_line":"        except Exception as excep:"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_db3128a3","line":73,"in_reply_to":"5a890539_ac4c2d9f","updated":"2014-11-25 18:55:13.000000000","message":"see above","commit_id":"0509e3bd36d3eff4811f928392ddeec2a470b863"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"d20f44fcf9e9f8e198647a32e1fa97e6cd5cbd24","unresolved":false,"context_lines":[{"line_number":106,"context_line":"                if isinstance(cacerts, bool):"},{"line_number":107,"context_line":"                    cert_reqs \u003d ssl.CERT_NONE"},{"line_number":108,"context_line":"                    cacerts \u003d None"},{"line_number":109,"context_line":"                    if cacerts:"},{"line_number":110,"context_line":"                        cert_reqs \u003d ssl.CERT_REQUIRED"},{"line_number":111,"context_line":"                conn.set_cert(ca_certs\u003dcacerts, cert_reqs\u003dcert_reqs)"},{"line_number":112,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_cc7ed9e3","line":109,"updated":"2014-11-25 15:05:38.000000000","message":"this condition is always False because of the line above","commit_id":"0509e3bd36d3eff4811f928392ddeec2a470b863"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"f1d4146403a04dbde6bfacb4d9cd6f58591d767b","unresolved":false,"context_lines":[{"line_number":106,"context_line":"                if isinstance(cacerts, bool):"},{"line_number":107,"context_line":"                    cert_reqs \u003d ssl.CERT_NONE"},{"line_number":108,"context_line":"                    cacerts \u003d None"},{"line_number":109,"context_line":"                    if cacerts:"},{"line_number":110,"context_line":"                        cert_reqs \u003d ssl.CERT_REQUIRED"},{"line_number":111,"context_line":"                conn.set_cert(ca_certs\u003dcacerts, cert_reqs\u003dcert_reqs)"},{"line_number":112,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_f16c45d2","line":109,"in_reply_to":"5a890539_cc7ed9e3","updated":"2014-11-25 18:55:13.000000000","message":"I\u0027ll rewrite this. right, that\u0027s a mistake.","commit_id":"0509e3bd36d3eff4811f928392ddeec2a470b863"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"d20f44fcf9e9f8e198647a32e1fa97e6cd5cbd24","unresolved":false,"context_lines":[{"line_number":242,"context_line":"    \"\"\"Write handle for a file in VMware server.\"\"\""},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def __init__(self, host, port, data_center_name, datastore_name, cookies,"},{"line_number":245,"context_line":"                 file_path, file_size, scheme\u003d\u0027https\u0027, headers\u003dNone,"},{"line_number":246,"context_line":"                 cacerts\u003dFalse):"},{"line_number":247,"context_line":"        \"\"\"Initializes the write handle with given parameters."},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_575356e1","line":245,"updated":"2014-11-25 15:05:38.000000000","message":"what is the use case for accepting additional HTTP headers? we already have too many parameters both here and below ...","commit_id":"0509e3bd36d3eff4811f928392ddeec2a470b863"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"f1d4146403a04dbde6bfacb4d9cd6f58591d767b","unresolved":false,"context_lines":[{"line_number":242,"context_line":"    \"\"\"Write handle for a file in VMware server.\"\"\""},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def __init__(self, host, port, data_center_name, datastore_name, cookies,"},{"line_number":245,"context_line":"                 file_path, file_size, scheme\u003d\u0027https\u0027, headers\u003dNone,"},{"line_number":246,"context_line":"                 cacerts\u003dFalse):"},{"line_number":247,"context_line":"        \"\"\"Initializes the write handle with given parameters."},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_566a6f1a","line":245,"in_reply_to":"5a890539_575356e1","updated":"2014-11-25 18:55:13.000000000","message":"yes, i was trying to write functional tests that can execute this and i needed some additional headers","commit_id":"0509e3bd36d3eff4811f928392ddeec2a470b863"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"d20f44fcf9e9f8e198647a32e1fa97e6cd5cbd24","unresolved":false,"context_lines":[{"line_number":352,"context_line":"        cookies \u003d session.vim.client.options.transport.cookiejar"},{"line_number":353,"context_line":"        # Create HTTP connection to write to VMDK URL"},{"line_number":354,"context_line":"        octet_stream \u003d \u0027binary/octet-stream\u0027"},{"line_number":355,"context_line":"        cacerts \u003d session.vim.client.options.transport.verify"},{"line_number":356,"context_line":"        self._conn \u003d self._create_write_connection(self._url,"},{"line_number":357,"context_line":"                                                   vmdk_size,"},{"line_number":358,"context_line":"                                                   cookies\u003dcookies,"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_97013e07","line":355,"updated":"2014-11-25 15:05:38.000000000","message":"is this the same as session._cacert?","commit_id":"0509e3bd36d3eff4811f928392ddeec2a470b863"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"f1d4146403a04dbde6bfacb4d9cd6f58591d767b","unresolved":false,"context_lines":[{"line_number":352,"context_line":"        cookies \u003d session.vim.client.options.transport.cookiejar"},{"line_number":353,"context_line":"        # Create HTTP connection to write to VMDK URL"},{"line_number":354,"context_line":"        octet_stream \u003d \u0027binary/octet-stream\u0027"},{"line_number":355,"context_line":"        cacerts \u003d session.vim.client.options.transport.verify"},{"line_number":356,"context_line":"        self._conn \u003d self._create_write_connection(self._url,"},{"line_number":357,"context_line":"                                                   vmdk_size,"},{"line_number":358,"context_line":"                                                   cookies\u003dcookies,"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_b6c9d327","line":355,"in_reply_to":"5a890539_97013e07","updated":"2014-11-25 18:55:13.000000000","message":"Done","commit_id":"0509e3bd36d3eff4811f928392ddeec2a470b863"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"e94825909301cb2041b9c38d210a8a5a25aeb5a9","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        self._file_handle \u003d file_handle"},{"line_number":60,"context_line":"        self._last_logged_progress \u003d 0"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def _create_read_connection(self, url, cookies\u003dNone, headers\u003dNone,"},{"line_number":63,"context_line":"                                cacerts\u003dFalse):"},{"line_number":64,"context_line":"        LOG.debug(\"Opening URL: %s for reading.\", url)"},{"line_number":65,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a890539_7a364e52","line":62,"updated":"2014-11-26 15:07:37.000000000","message":"headers is not used now in this patch, please remove it","commit_id":"b0791f4ee6a5c29aca050af8a410ad94e9a0cc5f"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"935467025e303ad4bdf6107dded6b993ca267ec1","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        self._file_handle \u003d file_handle"},{"line_number":60,"context_line":"        self._last_logged_progress \u003d 0"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def _create_read_connection(self, url, cookies\u003dNone, headers\u003dNone,"},{"line_number":63,"context_line":"                                cacerts\u003dFalse):"},{"line_number":64,"context_line":"        LOG.debug(\"Opening URL: %s for reading.\", url)"},{"line_number":65,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a890539_5a6b52f0","line":62,"in_reply_to":"5a890539_7a364e52","updated":"2014-11-26 15:13:03.000000000","message":"Done","commit_id":"b0791f4ee6a5c29aca050af8a410ad94e9a0cc5f"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"e94825909301cb2041b9c38d210a8a5a25aeb5a9","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                                 cookies\u003dNone,"},{"line_number":88,"context_line":"                                 overwrite\u003dNone,"},{"line_number":89,"context_line":"                                 content_type\u003dNone,"},{"line_number":90,"context_line":"                                 headers\u003dNone,"},{"line_number":91,"context_line":"                                 cacerts\u003dFalse):"},{"line_number":92,"context_line":"        \"\"\"Create HTTP connection to write to VMDK file.\"\"\""},{"line_number":93,"context_line":"        LOG.debug(\"Creating HTTP connection to write to file with \""}],"source_content_type":"text/x-python","patch_set":14,"id":"5a890539_1a146a9e","line":90,"updated":"2014-11-26 15:07:37.000000000","message":"ditto","commit_id":"b0791f4ee6a5c29aca050af8a410ad94e9a0cc5f"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"935467025e303ad4bdf6107dded6b993ca267ec1","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                                 cookies\u003dNone,"},{"line_number":88,"context_line":"                                 overwrite\u003dNone,"},{"line_number":89,"context_line":"                                 content_type\u003dNone,"},{"line_number":90,"context_line":"                                 headers\u003dNone,"},{"line_number":91,"context_line":"                                 cacerts\u003dFalse):"},{"line_number":92,"context_line":"        \"\"\"Create HTTP connection to write to VMDK file.\"\"\""},{"line_number":93,"context_line":"        LOG.debug(\"Creating HTTP connection to write to file with \""}],"source_content_type":"text/x-python","patch_set":14,"id":"5a890539_7a6e4e01","line":90,"in_reply_to":"5a890539_1a146a9e","updated":"2014-11-26 15:13:03.000000000","message":"Done","commit_id":"b0791f4ee6a5c29aca050af8a410ad94e9a0cc5f"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"74f87e6aacfd4e86372eef1fec09bad129205ffd","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        LOG.debug(\"Opening URL: %s for reading.\", url)"},{"line_number":64,"context_line":"        try:"},{"line_number":65,"context_line":"            headers \u003d {}"},{"line_number":66,"context_line":"            if \u0027User-Agent\u0027 not in headers:"},{"line_number":67,"context_line":"                headers.update({\u0027User-Agent\u0027: USER_AGENT})"},{"line_number":68,"context_line":"            if cookies:"},{"line_number":69,"context_line":"                headers.update({\u0027Cookie\u0027:"}],"source_content_type":"text/x-python","patch_set":15,"id":"5a890539_ed2e058c","line":66,"updated":"2014-11-26 15:43:17.000000000","message":"this is always True","commit_id":"6ff73fb7eb2a2962092cfaf67d7a4c9164cf795b"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c853b63593a640c33737a822d5d8be6843b57f98","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        LOG.debug(\"Opening URL: %s for reading.\", url)"},{"line_number":64,"context_line":"        try:"},{"line_number":65,"context_line":"            headers \u003d {}"},{"line_number":66,"context_line":"            if \u0027User-Agent\u0027 not in headers:"},{"line_number":67,"context_line":"                headers.update({\u0027User-Agent\u0027: USER_AGENT})"},{"line_number":68,"context_line":"            if cookies:"},{"line_number":69,"context_line":"                headers.update({\u0027Cookie\u0027:"}],"source_content_type":"text/x-python","patch_set":15,"id":"5a890539_c71a0218","line":66,"in_reply_to":"5a890539_ed2e058c","updated":"2014-11-26 18:02:09.000000000","message":"Done","commit_id":"6ff73fb7eb2a2962092cfaf67d7a4c9164cf795b"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"74f87e6aacfd4e86372eef1fec09bad129205ffd","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                path \u003d path + \u0027?\u0027 + query"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"            headers \u003d {}"},{"line_number":124,"context_line":"            if \u0027User-Agent\u0027 not in headers:"},{"line_number":125,"context_line":"                headers.update({\u0027User-Agent\u0027: USER_AGENT})"},{"line_number":126,"context_line":"            if file_size and \u0027Content-Length\u0027 not in headers:"},{"line_number":127,"context_line":"                headers.update({\u0027Content-Length\u0027: str(file_size)})"}],"source_content_type":"text/x-python","patch_set":15,"id":"5a890539_4d6c79d1","line":124,"updated":"2014-11-26 15:43:17.000000000","message":"this is always True; you should also update the \u0027if\u0027 statements below","commit_id":"6ff73fb7eb2a2962092cfaf67d7a4c9164cf795b"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c853b63593a640c33737a822d5d8be6843b57f98","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                path \u003d path + \u0027?\u0027 + query"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"            headers \u003d {}"},{"line_number":124,"context_line":"            if \u0027User-Agent\u0027 not in headers:"},{"line_number":125,"context_line":"                headers.update({\u0027User-Agent\u0027: USER_AGENT})"},{"line_number":126,"context_line":"            if file_size and \u0027Content-Length\u0027 not in headers:"},{"line_number":127,"context_line":"                headers.update({\u0027Content-Length\u0027: str(file_size)})"}],"source_content_type":"text/x-python","patch_set":15,"id":"5a890539_0715eae4","line":124,"in_reply_to":"5a890539_4d6c79d1","updated":"2014-11-26 18:02:09.000000000","message":"Done","commit_id":"6ff73fb7eb2a2962092cfaf67d7a4c9164cf795b"}]}
