)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"eb54694140f965891a34e6e5865f0789886a43f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"7cdcba40_91f3b812","updated":"2021-11-23 12:00:25.000000000","message":"typo in reno to fix","commit_id":"36061a86a305b40ff4b50de0233235b6f9443518"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"c66fe4ee519c2ac75ff8a04d1a6a16b9cecd33bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"faa81c94_cddcd712","updated":"2022-02-03 12:24:22.000000000","message":"Please use \u0027topic\u0027 feature of gerrit to group kolla part with kolla-ansible part so it will be easier to find each other.\n\n+2 once release note fixed (I did not caught those earlier)","commit_id":"8e96846da7a76ff83e4a6f387f55bbac886f373d"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"30266956811110674c312efd4dd7c2a6ec7bd4ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"cf3f7524_0105da32","updated":"2022-01-07 11:08:56.000000000","message":"What about this ? :/","commit_id":"8e96846da7a76ff83e4a6f387f55bbac886f373d"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"c4a22cae53a050159d2177c47fb243a979c51169","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"021b7f3d_ade9b028","updated":"2022-02-03 14:53:10.000000000","message":"recheck","commit_id":"7b6f769217ffa2b36283b1ae9d135e7dcee296c0"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"6b6f453b523b70985a1940d23435837646a5a37e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"09af87cf_9bc703f5","updated":"2022-02-04 11:00:56.000000000","message":"Is there a Kolla-Ansible part of this?","commit_id":"d7dc784eca99b67de09d0b99c4a90b2374ea941a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"8fda1930be132ccbcc4b8612f487bc0c12a8df19","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"88498444_4040b2f2","in_reply_to":"09af87cf_9bc703f5","updated":"2022-02-04 12:26:04.000000000","message":"yes it is ..but it is quite hard patchset ..so I am testing all scenarios ...current patchset is working ..but there are still some scenarios I don\u0027t like ...recovery and other stuff","commit_id":"d7dc784eca99b67de09d0b99c4a90b2374ea941a"}],"docker/mariadb/mariadb-arbitrator/Dockerfile.j2":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"0eb9f44c24033660e5c8e91dc3dc0764a165adae","unresolved":true,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":9,"context_line":"    {% set mariadb_arbitrator_packages \u003d ["},{"line_number":10,"context_line":"        \u0027galera\u0027"},{"line_number":11,"context_line":"    ] %}"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"70e358b6_edf938ee","line":10,"range":{"start_line":10,"start_character":9,"end_line":10,"end_character":15},"updated":"2021-09-28 18:17:48.000000000","message":"this will be galera-4 once https://review.opendev.org/c/openstack/kolla/+/811014 merges","commit_id":"4bd800c8e9666c5af2a71305c503b37123f806d6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4c78f3370a46f90f37b103691e774b5433620e3f","unresolved":true,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":9,"context_line":"    {% set mariadb_arbitrator_packages \u003d ["},{"line_number":10,"context_line":"        \u0027galera\u0027"},{"line_number":11,"context_line":"    ] %}"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"b71dd9f8_9f6973f1","line":10,"range":{"start_line":10,"start_character":9,"end_line":10,"end_character":15},"in_reply_to":"70e358b6_edf938ee","updated":"2021-09-28 18:19:32.000000000","message":"Yeah, I will fix of course .. debian is already changed","commit_id":"4bd800c8e9666c5af2a71305c503b37123f806d6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"58f76e5894eeb2c3fb2f135005abc680e1637c42","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":9,"context_line":"    {% set mariadb_arbitrator_packages \u003d ["},{"line_number":10,"context_line":"        \u0027galera\u0027"},{"line_number":11,"context_line":"    ] %}"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"4719d017_5786d4b4","line":10,"range":{"start_line":10,"start_character":9,"end_line":10,"end_character":15},"in_reply_to":"b71dd9f8_9f6973f1","updated":"2021-09-28 18:24:03.000000000","message":"Rebased against https://review.opendev.org/c/openstack/kolla/+/811014","commit_id":"4bd800c8e9666c5af2a71305c503b37123f806d6"}],"docker/mariadb/mariadb-arbitrator/extend_start.sh":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"eb1a9af255e155dbf68e1a75443fb73f71552618","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Copy specific garbd config for this arbitrator"},{"line_number":14,"context_line":"rm -f /etc/garbd.cfg"},{"line_number":15,"context_line":"cp /etc/garbd/shards/garbd-shard-${MARIADB_SHARD_ID}.cfg /etc/garbd.cfg"}],"source_content_type":"text/x-sh","patch_set":5,"id":"6023d2ac_fbbdeff7","line":15,"range":{"start_line":15,"start_character":35,"end_line":15,"end_character":51},"updated":"2021-08-03 06:48:50.000000000","message":"what if this is unset? do we need to supply a default value?","commit_id":"1119f7401a728a3ee97cf9af0e2d467bb67cda6f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"02a696a87b3dc248c60cd7b1e5284a5e686b1c0c","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Copy specific garbd config for this arbitrator"},{"line_number":14,"context_line":"rm -f /etc/garbd.cfg"},{"line_number":15,"context_line":"cp /etc/garbd/shards/garbd-shard-${MARIADB_SHARD_ID}.cfg /etc/garbd.cfg"}],"source_content_type":"text/x-sh","patch_set":5,"id":"d01baee4_ff2058f5","line":15,"range":{"start_line":15,"start_character":35,"end_line":15,"end_character":51},"in_reply_to":"3f350500_986e2ec3","updated":"2021-09-08 13:40:22.000000000","message":"Anything is good - are you going to follow up?","commit_id":"1119f7401a728a3ee97cf9af0e2d467bb67cda6f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"691ccc7bc591cfa17328c39d63f91ffab542fdd8","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Copy specific garbd config for this arbitrator"},{"line_number":14,"context_line":"rm -f /etc/garbd.cfg"},{"line_number":15,"context_line":"cp /etc/garbd/shards/garbd-shard-${MARIADB_SHARD_ID}.cfg /etc/garbd.cfg"}],"source_content_type":"text/x-sh","patch_set":5,"id":"f40eefcd_8b3f78a0","line":15,"range":{"start_line":15,"start_character":35,"end_line":15,"end_character":51},"in_reply_to":"6023d2ac_fbbdeff7","updated":"2021-08-03 09:32:47.000000000","message":"Well, kolla image is executed via kolla-ansible, so yes, if not defined in hostvars, MARIADB_SHARD_ID is defined by kolla-ansible to some default value (implemented but not merged https://review.opendev.org/c/openstack/kolla-ansible/+/780811)\n\nNormally you would have only /etc/garbd/gardb.cfg, but in https://review.opendev.org/c/openstack/kolla-ansible/+/766952 (doc https://review.opendev.org/c/openstack/kolla-ansible/+/792882), mariadb was reworked to support \"shards\", so you can give some ID to group of mariadb servers and can have several clusters separately which is usefull for example to split load to galeras ..per service (if proxysql used).\n\nMariadb-arbitrator in kolla and kolla-ansible is implemented in way you can have one server as arbitrator for all clusters (different name of garbd config, and different port, calculated from id in some third geo-location), or you can have arbitrator per host, or you will not use arbitrator and you will remain in original solution with 3 mariadb nodes per cluster - based on hostvars defined in inventory.","commit_id":"1119f7401a728a3ee97cf9af0e2d467bb67cda6f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"303d3e49b8b637b90cd1ccfa0b7fff7d85416826","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Copy specific garbd config for this arbitrator"},{"line_number":14,"context_line":"rm -f /etc/garbd.cfg"},{"line_number":15,"context_line":"cp /etc/garbd/shards/garbd-shard-${MARIADB_SHARD_ID}.cfg /etc/garbd.cfg"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f350500_986e2ec3","line":15,"range":{"start_line":15,"start_character":35,"end_line":15,"end_character":51},"in_reply_to":"a42b50af_38c48c3e","updated":"2021-08-23 13:46:19.000000000","message":"Makes sense ! Or use /etc/garbd/garbd.cfg when ID not defined (so other users outside of kolla can use as regular galera-arbitrator image ?)","commit_id":"1119f7401a728a3ee97cf9af0e2d467bb67cda6f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"9be832630804f591dc6fb53e9fb0947c92cd6928","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Copy specific garbd config for this arbitrator"},{"line_number":14,"context_line":"rm -f /etc/garbd.cfg"},{"line_number":15,"context_line":"cp /etc/garbd/shards/garbd-shard-${MARIADB_SHARD_ID}.cfg /etc/garbd.cfg"}],"source_content_type":"text/x-sh","patch_set":5,"id":"c27336ee_acce1ba5","line":15,"range":{"start_line":15,"start_character":35,"end_line":15,"end_character":51},"in_reply_to":"b722ccf7_92413983","updated":"2021-09-09 11:13:03.000000000","message":"Added conditional which is checking variable is set.\nIf it is set - remove dist garbd and copy specific garbd to right path.\nIf it is not set nothing will happen.","commit_id":"1119f7401a728a3ee97cf9af0e2d467bb67cda6f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"b0b0258f9f1cc9b39de84851a3591aa361cafefc","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Copy specific garbd config for this arbitrator"},{"line_number":14,"context_line":"rm -f /etc/garbd.cfg"},{"line_number":15,"context_line":"cp /etc/garbd/shards/garbd-shard-${MARIADB_SHARD_ID}.cfg /etc/garbd.cfg"}],"source_content_type":"text/x-sh","patch_set":5,"id":"b722ccf7_92413983","line":15,"range":{"start_line":15,"start_character":35,"end_line":15,"end_character":51},"in_reply_to":"d01baee4_ff2058f5","updated":"2021-09-09 11:10:50.000000000","message":"Done","commit_id":"1119f7401a728a3ee97cf9af0e2d467bb67cda6f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"cf52d50edfa490f1827016f599a4c46f68ed58b7","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Copy specific garbd config for this arbitrator"},{"line_number":14,"context_line":"rm -f /etc/garbd.cfg"},{"line_number":15,"context_line":"cp /etc/garbd/shards/garbd-shard-${MARIADB_SHARD_ID}.cfg /etc/garbd.cfg"}],"source_content_type":"text/x-sh","patch_set":5,"id":"a42b50af_38c48c3e","line":15,"range":{"start_line":15,"start_character":35,"end_line":15,"end_character":51},"in_reply_to":"f40eefcd_8b3f78a0","updated":"2021-08-23 13:43:20.000000000","message":"I understand, but still - there might be some users using Kolla\u0027s images outside of Kolla-Ansible - even if we don\u0027t know anything about them. Maybe it would make sense to check if this variable is defined and fail if it\u0027s not.","commit_id":"1119f7401a728a3ee97cf9af0e2d467bb67cda6f"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"0169d2c4ccb8bc3a69f92046b4e60ebf1c38f1c0","unresolved":true,"context_lines":[{"line_number":11,"context_line":"fi"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Copy specific garbd config for this arbitrator"},{"line_number":14,"context_line":"if [ ! -z \"${MARIADB_SHARD_ID}\" ]; then"},{"line_number":15,"context_line":"    rm -f /etc/garbd.cfg"},{"line_number":16,"context_line":"    cp /etc/garbd/shards/garbd-shard-${MARIADB_SHARD_ID}.cfg /etc/garbd.cfg"},{"line_number":17,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":14,"id":"7d140f98_649662c2","line":17,"range":{"start_line":14,"start_character":0,"end_line":17,"end_character":2},"updated":"2022-09-01 12:32:45.000000000","message":"Why does it get multiple of these?","commit_id":"d7dc784eca99b67de09d0b99c4a90b2374ea941a"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"67ec8d6eb9bad778ec17a5f9306a59dd90fe88de","unresolved":true,"context_lines":[{"line_number":11,"context_line":"fi"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Copy specific garbd config for this arbitrator"},{"line_number":14,"context_line":"if [ ! -z \"${MARIADB_SHARD_ID}\" ]; then"},{"line_number":15,"context_line":"    rm -f /etc/garbd.cfg"},{"line_number":16,"context_line":"    cp /etc/garbd/shards/garbd-shard-${MARIADB_SHARD_ID}.cfg /etc/garbd.cfg"},{"line_number":17,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":14,"id":"d7b76010_4cc2f23e","line":17,"range":{"start_line":14,"start_character":0,"end_line":17,"end_character":2},"in_reply_to":"7d140f98_649662c2","updated":"2022-09-01 18:35:42.000000000","message":"In our case we had 3rd location where we had arbitrators, names of containers were constructed from mariadb_arbitrator_ID_OF_SHARD and this inforamtion was also injected to container. So every container was arbitrator for different shard (cluster).\n\nThis was in third location on one VM (don\u0027t need to have fast disk ..because arbitrator just replicating data ..not read/write from disk) .. so decision was to have arbitrators on one VM - because it\u0027s cheap and you have to have only fast connectivity - and they also didn\u0027t want to give as more servers.\n\nBut yeah, we could have 3 VMS and schedule arbitrator to each of them. This was how to say ..kind of hack to have several arbitrators on one sever with different names of container and different configuration while configuration was chosen based on MARIADB_SHARD_ID.\n\nBut, if it is not defined ..it falled back to /etc/garbd/garbd.conf. (not id related).\n\nLet me know if something is not clear. And also please let me know if arbitrator feature for galera is still wanted feature or not. Because, as this wasn\u0027t reviewed for long time (both kolla and k-a patches) we decided to replace arbitrator with real mariadb node (but this will be more expensive because of disk IOs ..)","commit_id":"d7dc784eca99b67de09d0b99c4a90b2374ea941a"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ae9a1f205bcd351b5574c31f1f257c903a9adad6","unresolved":true,"context_lines":[{"line_number":11,"context_line":"fi"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Copy specific garbd config for this arbitrator"},{"line_number":14,"context_line":"if [ ! -z \"${MARIADB_SHARD_ID}\" ]; then"},{"line_number":15,"context_line":"    rm -f /etc/garbd.cfg"},{"line_number":16,"context_line":"    cp /etc/garbd/shards/garbd-shard-${MARIADB_SHARD_ID}.cfg /etc/garbd.cfg"},{"line_number":17,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":14,"id":"a30d6cce_1c62e6f0","line":17,"range":{"start_line":14,"start_character":0,"end_line":17,"end_character":2},"in_reply_to":"d7b76010_4cc2f23e","updated":"2022-09-06 10:47:02.000000000","message":"Kolla Ansible should copy the right config into the container. The container should not have access to other configs nor have to select them. I.e., this should be happening outside the container, at the Kolla Ansible level.","commit_id":"d7dc784eca99b67de09d0b99c4a90b2374ea941a"}],"releasenotes/notes/mariadb-arbitrator-069d5b50a96e7439.yaml":[{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"eb54694140f965891a34e6e5865f0789886a43f8","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add mariadb-arbitrator Dockerfile, Mariadb (galera) Arbitrator is a member"},{"line_number":4,"context_line":"    of a cluster that participates in voting, but not in the actual replication."},{"line_number":5,"context_line":"    This is usefull when you have an even number of nodes, it functions as an odd"},{"line_number":6,"context_line":"    node, to avoid split-brain situations"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"4cc618c3_1f7a9936","line":5,"range":{"start_line":5,"start_character":12,"end_line":5,"end_character":19},"updated":"2021-11-23 12:00:25.000000000","message":"useful","commit_id":"36061a86a305b40ff4b50de0233235b6f9443518"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"c1c0b712c92ef68a0d38025bf316b785259efa65","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add mariadb-arbitrator Dockerfile, Mariadb (galera) Arbitrator is a member"},{"line_number":4,"context_line":"    of a cluster that participates in voting, but not in the actual replication."},{"line_number":5,"context_line":"    This is usefull when you have an even number of nodes, it functions as an odd"},{"line_number":6,"context_line":"    node, to avoid split-brain situations"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"1d314106_a397db6b","line":5,"range":{"start_line":5,"start_character":12,"end_line":5,"end_character":19},"in_reply_to":"4cc618c3_1f7a9936","updated":"2021-11-25 21:10:24.000000000","message":"Done","commit_id":"36061a86a305b40ff4b50de0233235b6f9443518"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"685a98659e41748d7f0b02de42bcdf5ee8ad4d8d","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add mariadb-arbitrator Dockerfile, Mariadb (galera) Arbitrator is a member"},{"line_number":4,"context_line":"    of a cluster that participates in voting, but not in the actual replication."},{"line_number":5,"context_line":"    This is useful when you have an even number of nodes, it functions as an odd"},{"line_number":6,"context_line":"    node, to avoid split-brain situations"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"c2e38997_19f29bd4","line":6,"range":{"start_line":3,"start_character":3,"end_line":6,"end_character":41},"updated":"2022-02-03 12:22:44.000000000","message":"s/Dockerfile,/image.\n\nAnd dot at the end.","commit_id":"8e96846da7a76ff83e4a6f387f55bbac886f373d"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f373d8f2a85906143127acd421edca157052a743","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add mariadb-arbitrator Dockerfile, Mariadb (galera) Arbitrator is a member"},{"line_number":4,"context_line":"    of a cluster that participates in voting, but not in the actual replication."},{"line_number":5,"context_line":"    This is useful when you have an even number of nodes, it functions as an odd"},{"line_number":6,"context_line":"    node, to avoid split-brain situations"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"cd94e0c8_b12608a1","line":6,"range":{"start_line":3,"start_character":3,"end_line":6,"end_character":41},"in_reply_to":"c2e38997_19f29bd4","updated":"2022-09-01 11:27:02.000000000","message":"Done","commit_id":"8e96846da7a76ff83e4a6f387f55bbac886f373d"}]}
