{"id":233453,"date":"2023-02-13T11:25:00","date_gmt":"2023-02-13T08:25:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233453"},"modified":"2022-11-10T23:46:15","modified_gmt":"2022-11-10T20:46:15","slug":"guia-completo-como-preencher-dinamicamente-campos-em-formularios-de-gravidade","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/guia-completo-como-preencher-dinamicamente-campos-em-formularios-de-gravidade\/","title":{"rendered":"Guia Completo: Como preencher dinamicamente campos em formul\u00e1rios de gravidade"},"content":{"rendered":"\n<p>Construir formul\u00e1rios simples ou complexos no <a href=\"https:\/\/www.gravityforms.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Gravity Forms<\/a> \u00e9 f\u00e1cil e r\u00e1pido. Uma das funcionalidades que o Gravity Forms oferece \u00e9 permitir que voc\u00ea pr\u00e9-selecione ou preencha condicionalmente os campos em um formul\u00e1rio. Isso \u00e9 \u00fatil quando voc\u00ea tem o mesmo formul\u00e1rio em v\u00e1rias p\u00e1ginas de contato para cada departamento e deseja pr\u00e9-selecionar o departamento correspondente no formul\u00e1rio. Ou voc\u00ea est\u00e1 incorporando um formul\u00e1rio de solicita\u00e7\u00e3o em p\u00e1ginas de produtos ou servi\u00e7os e deseja preencher automaticamente as informa\u00e7\u00f5es sobre o produto ou servi\u00e7o atual em cada envio.<\/p>\n<p>Voc\u00ea pode pr\u00e9-selecionar ou pr\u00e9-preencher dinamicamente os campos de v\u00e1rias maneiras, e tamb\u00e9m pode substituir dinamicamente as op\u00e7\u00f5es poss\u00edveis em um menu suspenso, bot\u00e3o de op\u00e7\u00e3o ou grupo de caixas de sele\u00e7\u00e3o. O campo que voc\u00ea preenche dinamicamente pode ser um campo vis\u00edvel que o usu\u00e1rio pode editar ou pode ser roteado para um campo oculto para que o leitor dos envios de formul\u00e1rios obtenha informa\u00e7\u00f5es vitais.<\/p>\n<h2>As quatro maneiras de preencher campos dinamicamente<\/h2>\n<p>Neste guia, veremos quatro maneiras de preencher dinamicamente campos em um formul\u00e1rio Gravity Forms. Tr\u00eas deles voc\u00ea pode fazer sem tocar em nenhum c\u00f3digo! Mas se voc\u00ea quiser modificar dinamicamente as op\u00e7\u00f5es poss\u00edveis em um select, grupo de bot\u00f5es de op\u00e7\u00e3o ou caixas de sele\u00e7\u00e3o, voc\u00ea precisar\u00e1 escrever algum c\u00f3digo PHP. Veremos como fazer isso no final.<\/p>\n<p>Voc\u00ea pode preencher campos dinamicamente por:<\/p>\n<ul>\n<li>Adicionando informa\u00e7\u00f5es extras na URL.<\/li>\n<li>Forne\u00e7a informa\u00e7\u00f5es extras para o c\u00f3digo de acesso incorporado do Gravity Forms.<\/li>\n<li>Definindo informa\u00e7\u00f5es extras para o Gravity Forms Block (se voc\u00ea estiver usando WordPress com Gutenberg).<\/li>\n<li>Usando filtros com c\u00f3digo PHP.<\/li>\n<\/ul>\n<p>Mas primeiro precisamos ver como ativar a popula\u00e7\u00e3o din\u00e2mica de um campo.<\/p>\n<h2>Ativando um campo para permitir popula\u00e7\u00e3o din\u00e2mica<\/h2>\n<p>A primeira etapa, independentemente do m\u00e9todo usado para preencher o campo, \u00e9 ativ\u00e1-lo no pr\u00f3prio campo.<\/p>\n<p>Na edi\u00e7\u00e3o do formul\u00e1rio, expanda o campo e dentro da aba &quot;Avan\u00e7ado&quot;, voc\u00ea encontrar\u00e1 uma caixa de sele\u00e7\u00e3o &quot;Permitir que o campo seja preenchido dinamicamente&quot;. Marque esta op\u00e7\u00e3o e uma nova entrada de texto aparecer\u00e1 permitindo que voc\u00ea defina o nome do seu par\u00e2metro. Isso pode ser o que voc\u00ea quiser, mas deve ser \u00fanico e sem espa\u00e7os.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153486-61e50e767c316.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153486-61e50e767c316.png\" alt=\"Guia Completo: Como preencher dinamicamente campos em formul\u00e1rios de gravidade\" ><\/a><\/p>\n<p>Salve o formul\u00e1rio e ele estar\u00e1 pronto para voc\u00ea decidir qual m\u00e9todo deseja usar para preench\u00ea-lo.<\/p>\n<h2>Preenchendo dinamicamente a partir de par\u00e2metros de URL<\/h2>\n<p>Voc\u00ea pode anexar par\u00e2metros GET ao link da p\u00e1gina que incorpora o formul\u00e1rio, por exemplo, se o link estiver dentro de outro texto de postagem ou for um link personalizado nos menus do WordPress.<\/p>\n<p>Basta adicionar vari\u00e1veis \u200b\u200bde consulta em pares de valores-chave, com o nome do par\u00e2metro como chave e seu valor como o que voc\u00ea deseja que seu valor seja. \u00c9 poss\u00edvel adicionar v\u00e1rios pares de valores-chave se voc\u00ea quiser preencher v\u00e1rios campos no formul\u00e1rio, basta separar cada par com &#8220;&#038;&quot;.<\/p>\n<p>Assumindo que seu formul\u00e1rio existe nesta p\u00e1gina: &#8221; <code>https:\/\/example.com\/contact-me\/<\/code>&#8220;, e seu nome de par\u00e2metro \u00e9 <code>awp_populate_me<\/code>que voc\u00ea pode preencher o campo usando este URL: &#8221; <code>https:\/\/example.com\/contact-me\/?awp_populate_me=Hello<\/code>&#8220;.<\/p>\n<p>Lembre-se de que os URLs devem ser codificados corretamente. Por exemplo, voc\u00ea n\u00e3o pode simplesmente adicionar espa\u00e7os ou caracteres especiais diretamente como valor do par\u00e2metro. Fornecendo &quot;Ol\u00e1, mundo!&quot; como valor seria &#8221; <code>Hello%20world%21<\/code>&#8220;. Existem muitas ferramentas on-line para codificar URLs para voc\u00ea, se desejar seguir esse caminho.<\/p>\n<h2>Preenchendo dinamicamente a partir do shortcode<\/h2>\n<p>Todos os formul\u00e1rios s\u00e3o inseridos atrav\u00e9s de um shortcode. Voc\u00ea pode preencher campos dinamicamente diretamente dentro desse c\u00f3digo de acesso. Este m\u00e9todo pode ser \u00fatil se voc\u00ea estiver usando o mesmo formul\u00e1rio em v\u00e1rias postagens (por exemplo, registrando participantes para v\u00e1rios eventos ou cursos diferentes) e precisar fornecer algo exclusivo para saber de qual evento ou curso o formul\u00e1rio veio\u2026\u2026<\/p>\n<p>Normalmente, quando voc\u00ea incorpora um formul\u00e1rio, resulta em um shortcode parecido com este:<code>[gravityforms id=\"1\" title=\"Contact us\"]<\/code><\/p>\n<p>Edite o c\u00f3digo de acesso e adicione o conjunto de chaves <code>field_values<\/code>a uma string que cont\u00e9m o nome do par\u00e2metro igual ao valor desejado. Por exemplo, definir um par\u00e2metro <code>awp_populate_me<\/code>para &#8216;Hello World&#8217; \u00e9 feito assim:<\/p>\n<pre><code>[gravityforms id=\"1\" title=\"Contact us\" field_values=\"awp_populate_me=Hello World\"]<\/code><\/pre>\n<p>Se voc\u00ea precisar preencher v\u00e1rios campos, adicione um &#8220;&#038;&#8221; no meio, assim:<\/p>\n<pre><code>[gravityforms id=\"1\" title=\"Contact us\" field_values=\"awp_populate_me=Hello World&amp;awp_another_field=Hello to you too\"]<\/code><\/pre>\n<h2>Preenchendo dinamicamente do Block in Gutenberg<\/h2>\n<p>Se voc\u00ea tiver GravityForms vers\u00e3o 2.4.13+ e WordPress com Gutenberg (WordPress 5+), voc\u00ea pode adicionar Gravity Forms como um bloco. Dentro deste bloco voc\u00ea tem um m\u00e9todo para preencher campos tamb\u00e9m.<\/p>\n<p>Adicione o bloco &#8220;Formul\u00e1rios&#8221; no Gutenberg e escolha o seu formul\u00e1rio. O bloco deve se transformar em uma visualiza\u00e7\u00e3o de formul\u00e1rio. No painel do lado direito, expanda Avan\u00e7ado e voc\u00ea encontrar\u00e1 uma \u00e1rea de texto chamada &#8220;Valores de campo&#8221;. Nesta \u00e1rea de texto, voc\u00ea pode digitar os nomes e valores dos seus par\u00e2metros, assim como digitaria o shortcode. Ex.: &#8221; <code>awp_populate_me=Hello World!<\/code>&#8220;<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153486-61e50e777b45f.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153486-61e50e777b45f.png\" alt=\"Guia Completo: Como preencher dinamicamente campos em formul\u00e1rios de gravidade\" ><\/a><\/p>\n<h2>Preenchendo dinamicamente a partir do c\u00f3digo<\/h2>\n<p>E, finalmente, se voc\u00ea preferir preencher seus campos usando c\u00f3digo PHP, existem filtros para isso. Voc\u00ea pode colocar este c\u00f3digo no arquivo <code>functions.php<\/code>.<\/p>\n<p>Como voc\u00ea codifica isso depende do tipo de campo; como voc\u00ea provavelmente pode adivinhar o preenchimento (substituindo todas as op\u00e7\u00f5es) em um select, caixas de sele\u00e7\u00e3o ou grupo de r\u00e1dio devem ser tratados de forma diferente do que apenas preencher um \u00fanico campo de texto.<\/p>\n<h3>Preenchendo um \u00fanico campo de valor<\/h3>\n<p>O preenchimento de um campo que tenha um \u00fanico valor (isso se aplica a campo de texto, \u00e1rea de texto, campo de email, campo de telefone e similares) \u00e9 feito facilmente filtrando <code>gform_field_value_&lt;parameter name&gt;<\/code>. Em nosso exemplo:<\/p>\n<pre><code>add_filter('gform_field_value_awp_populate_me', function($value) {\n    return 'Hello world!';\n});<\/code><\/pre>\n<p>Voc\u00ea tamb\u00e9m pode usar esse filtro para pr\u00e9-selecionar uma op\u00e7\u00e3o em um campo de v\u00e1rios valores, por exemplo, selecionar (lista suspensa), bot\u00f5es de op\u00e7\u00e3o ou caixas de sele\u00e7\u00e3o.<\/p>\n<h3>Preenchendo uma sele\u00e7\u00e3o ou bot\u00f5es de op\u00e7\u00e3o<\/h3>\n<p>Se voc\u00ea simplesmente estiver interessado em pr\u00e9-selecionar uma op\u00e7\u00e3o, siga o guia acima para preencher um campo de valor \u00fanico. Este c\u00f3digo destina-se a personalizar ou substituir as op\u00e7\u00f5es poss\u00edveis que voc\u00ea obt\u00e9m no campo.<\/p>\n<h4>Filtros de renderiza\u00e7\u00e3o de formul\u00e1rios do Gravity Forms<\/h4>\n<p>O <code>gform_pre_render<\/code>filtro nos permite modificar o formul\u00e1rio logo antes de ser exibido. Mas ao fazer altera\u00e7\u00f5es aqui, devemos garantir que nossas altera\u00e7\u00f5es sejam aplicadas em todos os casos; portanto, precisamos tamb\u00e9m conectar <code>gform_admin_pre_render<\/code>(filtro pr\u00e9_render correspondente, mas afeta a edi\u00e7\u00e3o de administrador\/formul\u00e1rio), <code>gform_pre_validation<\/code>(respons\u00e1vel por validar o formul\u00e1rio antes do envio) e <code>gform_pre_submission_filter<\/code>(filtro ap\u00f3s a valida\u00e7\u00e3o, mas antes que a entrada seja salva). N\u00e3o se preocupe, usamos a mesma fun\u00e7\u00e3o para todos esses filtros.<\/p>\n<p>Voc\u00ea pode filtr\u00e1-los diretamente ou pode fornecer um sublinhado e o ID do formul\u00e1rio ap\u00f3s o nome do filtro, para filtrar apenas um formul\u00e1rio espec\u00edfico. Por exemplo <code>gform_pre_render_1<\/code>, s\u00f3 seria executado em um formul\u00e1rio com o ID do formul\u00e1rio de 1.<\/p>\n<p>Como argumento para todos esses filtros, voc\u00ea obt\u00e9m o objeto de formul\u00e1rio, no qual pode obter o ID do formul\u00e1rio (m\u00e9todo alternativo para adicionar o ID do formul\u00e1rio no filtro) e todos os seus campos. Os campos do formul\u00e1rio s\u00e3o um array de <code>Field<\/code>objetos \u2013 mas tudo com o que precisamos nos preocupar \u00e9 substituir a <code>choices<\/code>propriedade correta do campo.<\/p>\n<h4>Mudando as escolhas<\/h4>\n<p>O tipo de dados com os quais voc\u00ea deseja substituir as escolhas depende inteiramente de voc\u00ea, mas a <code>choices<\/code>propriedade de um campo precisa de uma matriz que tenha os elementos &#8216;texto&#8217; e &#8216;valor&#8217;. Por exemplo <code>['text' =&gt; 'Hello World!', 'value' =&gt; '1', 'text' =&gt; 'Second choice', 'value' =&gt; '2']<\/code>.<\/p>\n<pre><code>add_filter('gform_pre_render_1', 'awp_populate_choices');\nadd_filter('gform_pre_validation_1', 'awp_populate_choices');\nadd_filter('gform_pre_submission_filter_1', 'awp_populate_choices');\nadd_filter('gform_admin_pre_render_1', 'awp_populate_choices');\nfunction awp_populate_choices($form) {\n    foreach ($form['fields'] as &amp;$field) {\n        if ($field-&gt;inputName == 'awp_populate_me') {\n\u00a0\n            \/\/ Generate your data here. Below is just an example\n            $pages = get_posts('numberposts=-1&amp;post_status=publish&amp;post_type=page');\n\u00a0\n            \/\/ Generate a nice array that Gravity Forms can understand\n            $choices = [];\n            foreach ($pages as $page) {\n                $choices[] = ['text' =&gt; $page-&gt;post_title, 'value' =&gt; $page-&gt;ID];\n            }\n\u00a0\n            \/\/ Set choices to field\n            $field-&gt;choices = $choices;\n        }\n    }\n    return $form;\n}<\/code><\/pre>\n<p>O c\u00f3digo acima filtra apenas o ID do formul\u00e1rio de 1. Ele come\u00e7a percorrendo os campos do formul\u00e1rio. \u00c9 importante observar o &#8220;&#038;&#8221; antes do elemento no loop, que o est\u00e1 passando por refer\u00eancia. Isso significa que, se fizermos altera\u00e7\u00f5es em <code>$field<\/code>, ele ser\u00e1 aplicado e salvo diretamente no arquivo <code>$form['fields']<\/code>.<\/p>\n<p>A segunda etapa \u00e9 segmentar o campo que possui o nome do par\u00e2metro que desejamos segmentar. Para cada campo esta \u00e9 a <code>inputName<\/code>propriedade. Voc\u00ea pode usar outras formas de segmenta\u00e7\u00e3o de campos, por exemplo, seu ID (<code>id<\/code>) ou classe CSS (<code>cssClass<\/code>). Quando encontramos nosso campo, precisamos gerar a matriz de substitui\u00e7\u00e3o para as op\u00e7\u00f5es e definir <code>$field-&gt;choices<\/code>para isso. No exemplo acima, consulto todas as p\u00e1ginas e percorro-as para gerar uma matriz formatada correta.<\/p>\n<p>N\u00e3o se esque\u00e7a de devolver o <code>$form<\/code>no final, pois este \u00e9 um filtro.<\/p>\n<p>Vale ressaltar que este filtro tamb\u00e9m se aplica ao formul\u00e1rio de edi\u00e7\u00e3o (porque filtramos <code>gform_admin_pre_render<\/code>). Mas lembre-se de que voc\u00ea n\u00e3o pode mais manipular as op\u00e7\u00f5es na edi\u00e7\u00e3o do formul\u00e1rio \u2013 ele simplesmente n\u00e3o salvar\u00e1 suas altera\u00e7\u00f5es porque esse c\u00f3digo sempre as substituir\u00e1.<\/p>\n<h3>Preenchendo caixas de sele\u00e7\u00e3o<\/h3>\n<p>Vou mencion\u00e1-lo novamente; se voc\u00ea simplesmente estiver interessado em pr\u00e9-selecionar uma caixa de sele\u00e7\u00e3o, siga o guia acima para preencher um campo de valor \u00fanico. Quanto \u00e0 substitui\u00e7\u00e3o de todas as op\u00e7\u00f5es nas caixas de sele\u00e7\u00e3o, o processo \u00e9 muito semelhante ao preenchimento de um bot\u00e3o de sele\u00e7\u00e3o ou de op\u00e7\u00e3o acima, mas com algumas pequenas diferen\u00e7as. Eu recomendo examinar a explica\u00e7\u00e3o acima para selecionar e bot\u00f5es de op\u00e7\u00e3o primeiro.<\/p>\n<p>Voc\u00ea usa os mesmos filtros e o processo de partida \u00e9 o mesmo; voc\u00ea percorre os campos do formul\u00e1rio e encontra o que deseja. No entanto, com caixas de sele\u00e7\u00e3o, voc\u00ea precisa substituir duas propriedades no objeto de campo; <code>choices<\/code>e <code>inputs<\/code>. A <code>choices<\/code>propriedade espera a mesma matriz que em um bot\u00e3o de sele\u00e7\u00e3o ou de op\u00e7\u00e3o.<\/p>\n<p>A <code>input<\/code>propriedade espera um array com os elementos &#8216; <code>label<\/code>&#8216; e &#8216; <code>id<\/code>&#8216;. O <code>label<\/code>\u00e9 auto-explicativo e deve ser id\u00eantico ao <code>text<\/code>da matriz de op\u00e7\u00f5es. O <code>id<\/code>elemento precisa seguir as regras do Gravity Forms ID; concatenar o ID do campo, um ponto e o ID da escolha, come\u00e7ando com 1 (por exemplo, se o ID do campo for 2 e o ID da escolha for 3, o correto <code>id<\/code>\u00e9 &#8221; <code>2.3<\/code>&#8220;).<\/p>\n<pre><code>add_filter('gform_pre_render_1', 'awp_populate_choices');\nadd_filter('gform_pre_validation_1', 'awp_populate_choices');\nadd_filter('gform_pre_submission_filter_1', 'awp_populate_choices');\nadd_filter('gform_admin_pre_render_1', 'awp_populate_choices');\nfunction awp_populate_choices($form) {\n    foreach ($form['fields'] as &amp;$field) {\n        if ($field-&gt;inputName == 'awp_populate_me') {\n\u00a0\n            \/\/ Generate your data here. Below is just an example\n            $pages = get_posts('numberposts=-1&amp;post_status=publish&amp;post_type=page');\n\u00a0\n            \/\/ Generate nice arrays that Gravity Forms can understand\n            $choices = [];\n            $inputs = [];\n            $input_id = 1;\n            foreach ($pages as $page) {\n                $choices[] = ['text' =&gt; $page-&gt;post_title, 'value' =&gt; $page-&gt;ID];\n                $inputs[] = ['label' =&gt; $page-&gt;post_title, 'id' =&gt; $field-&gt;id. '.'. $input_id];\n                $input_id++;\n            }\n\u00a0\n            \/\/ Set choices to field\n            $field-&gt;choices = $choices;\n            $field-&gt;inputs = $inputs;\n        }\n    }\n    return $form;\n}<\/code><\/pre>\n<p>Como os IDs de escolha precisam come\u00e7ar em 1, iniciamos uma vari\u00e1vel de contador antes do loop e adicionamos 1 para cada elemento no loop, e usamos isso junto com o ID do campo e um ponto como <code>id<\/code>em <code>inputs<\/code>array.<\/p>\n<p>Quando temos nossos dois arrays, n\u00f3s os configuramos nos campos <code>choices<\/code>e <code>inputs<\/code>propriedades, e retornamos o formul\u00e1rio modificado.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/awhitepixel.com\" class=\"external external_icon\">awhitepixel.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um guia completo sobre como pr\u00e9-selecionar ou pr\u00e9-preencher campos em um formul\u00e1rio Gravity Forms e substituir as op\u00e7\u00f5es em uma lista suspensa, bot\u00e3o de op\u00e7\u00e3o ou caixas de sele\u00e7\u00e3o.<\/p>\n","protected":false},"author":1,"featured_media":153487,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,898,722,722,837,1110,806,806,816,816,837,846,846,867,867],"tags":[1170],"class_list":{"0":"post-233453","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-codigo-2","9":"category-desenvolvedor","11":"category-guia-para-iniciantes","12":"category-n-a","13":"category-php-8","15":"category-plug-ins","18":"category-tutoriais","20":"category-wordpress-8","22":"tag-affiai-pt-pt"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/233453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=233453"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/233453\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/153487"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=233453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=233453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=233453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}