# Unicode issues with Ansible 1.8 and up

**URL:** <https://forum.ansible.com/t/unicode-issues-with-ansible-1-8-and-up/18344>\
**Category:** Ansible Project\
**Created:** [May 29, 2015, 1:05pm UTC](https://forum.ansible.com/t/unicode-issues-with-ansible-1-8-and-up/18344 "2015-05-29T13:05:58Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andres\_Silva1](https://avatars.discourse-cdn.com/v4/letter/a/c5a1d2/32.png) [@Andres\_Silva1](https://forum.ansible.com/u/Andres_Silva1)\
**Post date:** [May 29, 2015, 1:05pm UTC](https://forum.ansible.com/t/unicode-issues-with-ansible-1-8-and-up/18344/1 "2015-05-29T13:05:58Z")

</div>

Im running some Ansible playbooks on ec2 instances created by OpsWorks. Part of the automation reads the ec2 tags from the instance. here is the code for that

- name: gather ec2 facts  
action: ec2\_facts

- name: get environment tag  
action: ec2\_tag resource={{ ansible\_ec2\_instance\_id }} region={{ ansible\_ec2\_placement\_region }} state=list  
register: allTags

Using that information I then do a group by using one of the tags. The main reason to do this is to leverage group\_vars and do automation that configures settings differently for environments. In this case the tag name is environment. Code below

- group\_by: key={{ allTags.tags.environment }}

All this worked perfectly in Ansible 1.7. But after 1.8 the playbook fails with the following error. Is intersting to note that the automation works fine with instances that are not spun up by OpsWorks. OpsWorks does add some special tags to the instance. My suspicion is that some of those tags have special characters that are causing some sort of unicode issue.

`TASK: [group_by key={{ allTags.tags.environment }}] *************************** `  
`fatal: [localhost] => template error while templating string: unexpected char u'\x99' at 2600`

I’ve tried using quotes in the group\_by like this but with the same result

- group\_by: key=“{{ allTags.tags.environment }}”

I also tried using a different way of referencing the dictionary value like this

- group\_by: key={{ allTags[‘tags’][‘environment’] }}

But had the same results

I tried the recommendation on this thread [https://groups.google.com/forum/#!msg/ansible-project/mLgdORSFspo/PXfO76QNfMMJ](https://groups.google.com/forum/#!msg/ansible-project/mLgdORSFspo/PXfO76QNfMMJ) but still the same issue.

From what I’ve read there are some changes in Jinja that cause this behaviour but I have not been able to figure out the issue. Anyone has seen this issue or has some recommendations? Thanks in advance

---

<div class="post-metadata">

**Author:** ![Toshio\_Kuratomi](https://avatars.discourse-cdn.com/v4/letter/t/41988e/32.png) [@Toshio\_Kuratomi](https://forum.ansible.com/u/Toshio_Kuratomi)\
**Post date:** [May 29, 2015, 4:14pm UTC](https://forum.ansible.com/t/unicode-issues-with-ansible-1-8-and-up/18344/2 "2015-05-29T16:14:36Z")

</div>

I'd be interested to know how that character is getting in there and  
what you expect it to be. u'\x99' seems to be a c1 control character  
so it's probably not something that jinja should be expected to  
handle. But the character might originally be a byte in an encoding  
that was unexpected that was mangled in the decoding process. Need  
more information about what is being returned as your tags to figure  
this out.

-Toshio

---

<div class="post-metadata">

**Author:** ![Andres\_Silva](https://avatars.discourse-cdn.com/v4/letter/a/edb3f5/32.png) [@Andres\_Silva](https://forum.ansible.com/u/Andres_Silva)\
**Post date:** [May 29, 2015, 4:24pm UTC](https://forum.ansible.com/t/unicode-issues-with-ansible-1-8-and-up/18344/3 "2015-05-29T16:24:19Z")

</div>

Hi Toshio. Thanks a lot for the reply. Here is the debug output of what is being returned. Thanks in advance

TASK: [debug var=allTags] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [localhost] =\> {  
“var”: {  
“allTags”: {  
“changed”: false,  
“invocation”: {  
“module\_args”: “resource=i-be204f6e region=us-east-1 state=list”,  
“module\_name”: “ec2\_tag”  
},  
“play”: “setup.yml”,  
“role”: null,  
“state”: “ok”,  
“tags”: {  
“Name”: “analytics-storm-temp - storm1”,  
“environment”: “dev”,  
“opsworks:instance”: “storm1”,  
“opsworks:layer:storm”: “storm”,  
“opsworks:stack”: “analytics-storm-temp”,  
“role”: “storm”  
},  
“task”: “get environment tag”  
}  
}  
}

---

<div class="post-metadata">

**Author:** ![Toshio\_Kuratomi](https://avatars.discourse-cdn.com/v4/letter/t/41988e/32.png) [@Toshio\_Kuratomi](https://forum.ansible.com/u/Toshio_Kuratomi)\
**Post date:** [May 29, 2015, 5:29pm UTC](https://forum.ansible.com/t/unicode-issues-with-ansible-1-8-and-up/18344/4 "2015-05-29T17:29:19Z")

</div>

Hmm... So if I try to replicate this using the debug output of allTags  
directly I'm not able to provoke an error. Here's my playbook:

---

<div class="post-metadata">

**Author:** ![Andres\_Silva](https://avatars.discourse-cdn.com/v4/letter/a/edb3f5/32.png) [@Andres\_Silva](https://forum.ansible.com/u/Andres_Silva)\
**Post date:** [May 29, 2015, 5:36pm UTC](https://forum.ansible.com/t/unicode-issues-with-ansible-1-8-and-up/18344/5 "2015-05-29T17:36:29Z")

</div>

You are absolutly on the right track. I incorrectly assumed the issue was coming from the tags varible. But I tried your suggestion and still got the same error. So the error is cause just by the group\_by and not necessarly the variable.

I did a group by machine\_{{ ansible\_machine }} and got the same error.

TASK: [debug msg=“machine\_{{ ansible\_machine }}”] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [localhost] =\> {  
“msg”: “machine\_x86\_64”  
}

TASK: [group\_by key=machine\_{{ ansible\_machine }}] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
Traceback (most recent call last):  
File “/usr/local/bin/ansible-playbook”, line 324, in   
sys.exit(main(sys.argv[1:]))  
File “/usr/local/bin/ansible-playbook”, line 264, in main  
pb.run()  
File “/usr/lib/python2.7/dist-packages/ansible/playbook/ **init**.py”, line 348, in run  
if not self.\_run\_play(play):  
File “/usr/lib/python2.7/dist-packages/ansible/playbook/ **init**.py”, line 789, in \_run\_play  
if not self.\_run\_task(play, task, False):  
File “/usr/lib/python2.7/dist-packages/ansible/playbook/ **init**.py”, line 497, in \_run\_task  
results = self.\_run\_task\_internal(task, include\_failed=include\_failed)  
File “/usr/lib/python2.7/dist-packages/ansible/playbook/ **init**.py”, line 439, in \_run\_task\_internal  
results = runner.run()  
File “/usr/lib/python2.7/dist-packages/ansible/runner/ **init**.py”, line 1475, in run  
result\_data = self.\_executor(host, None).result  
File “/usr/lib/python2.7/dist-packages/ansible/runner/ **init**.py”, line 590, in \_executor  
msg = str(ae)  
UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\x8b’ in position 20: ordinal not in range(128)

I then did a test to remove the variable and rule out a Jinja templating issue . So Im grouping by just a word= test. The code is like this

- group\_by: key=test

And the result still looks like this . Same error

TASK: [group\_by key=test] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
Traceback (most recent call last):  
File “/usr/local/bin/ansible-playbook”, line 324, in   
sys.exit(main(sys.argv[1:]))  
File “/usr/local/bin/ansible-playbook”, line 264, in main  
pb.run()  
File “/usr/lib/python2.7/dist-packages/ansible/playbook/ **init**.py”, line 348, in run  
if not self.\_run\_play(play):  
File “/usr/lib/python2.7/dist-packages/ansible/playbook/ **init**.py”, line 789, in \_run\_play  
if not self.\_run\_task(play, task, False):  
File “/usr/lib/python2.7/dist-packages/ansible/playbook/ **init**.py”, line 497, in \_run\_task  
results = self.\_run\_task\_internal(task, include\_failed=include\_failed)  
File “/usr/lib/python2.7/dist-packages/ansible/playbook/ **init**.py”, line 439, in \_run\_task\_internal  
results = runner.run()  
File “/usr/lib/python2.7/dist-packages/ansible/runner/ **init**.py”, line 1475, in run  
result\_data = self.\_executor(host, None).result  
File “/usr/lib/python2.7/dist-packages/ansible/runner/ **init**.py”, line 590, in \_executor  
msg = str(ae)  
UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\x8b’ in position 20: ordinal not in range(128)

---

<div class="post-metadata">

**Author:** ![Andres\_Silva](https://avatars.discourse-cdn.com/v4/letter/a/edb3f5/32.png) [@Andres\_Silva](https://forum.ansible.com/u/Andres_Silva)\
**Post date:** [May 29, 2015, 5:41pm UTC](https://forum.ansible.com/t/unicode-issues-with-ansible-1-8-and-up/18344/6 "2015-05-29T17:41:12Z")

</div>

Also, I noticed the following. If I remove the ec2\_facts module the group\_by works

I removed this

- name: gather ec2 facts  
action: ec2\_facts

And then my dummy group\_by=test works. So I suspect something with the ec2\_facts module and something that is being returned by that.

So I ran the ec2\_facts module by itself and noticed a bunch of unicode stuff on user\_data

ansible -i inv -m ec2\_facts all  
/usr/lib64/python2.7/dist-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz\_powm\_sec. You should rebuild using libgmp \>= 5 to avoid timing attack vulnerability.  
_warn(“Not using mpz\_powm\_sec. You should rebuild using libgmp \>= 5 to avoid timing attack vulnerability.”, PowmInsecureWarning)  
localhost | success \>\> {  
“ansible\_facts”: {  
“ansible\_ec2\_ami\_id”: “ami-1916f772”,  
“ansible\_ec2\_ami\_launch\_index”: “0”,  
“ansible\_ec2\_ami\_manifest\_path”: “(unknown)”,  
“ansible\_ec2\_block\_device\_mapping\_ami”: “/dev/xvda”,  
“ansible\_ec2\_block\_device\_mapping\_ebs1”: “sdo”,  
“ansible\_ec2\_block\_device\_mapping\_ebs2”: “sdp”,  
“ansible\_ec2\_block\_device\_mapping\_root”: “/dev/xvda”,  
“ansible\_ec2\_hostname”: “ip-172-18-11-206.ec2.internal”,  
“ansible\_ec2\_iam\_info”: “{\n "Code" : "Success",\n "LastUpdated" : "2015-05-29T17:22:52Z",\n "InstanceProfileArn" : "arn:aws:iam::490606849374:instance-profile/analytics-storm-temp-LayerIAMInstanceProfile-THMUO658V6EB",\n "InstanceProfileId" : "AIPAJXHZ562GXJ7GGTNKG"\n}”,  
“ansible\_ec2\_iam\_security\_credentials\_analytics\_storm\_temp\_LayerRole\_R6SH1UXRFM8N”: “{\n "Code" : "Success",\n "LastUpdated" : "2015-05-29T17:23:09Z",\n "Type" : "AWS-HMAC",\n "AccessKeyId" : "ASIAILTF7KMSPUPGVVFA",\n "SecretAccessKey" : "/BZr+qf2xR7xXmTcm5vGk0WIIOR6DJ2YAVa/fUH1",\n "Token" : "AQoDYXdzEEsa4AOSuoTWhz2vnbbACC4R8QoXM8Lyrc/PQvQT9rlmAyZoujWxs5mBNeBl+u4IGc2T9Gn/kM59Bwvx9VcPERDmy+34RLnANUOC9a/2YafO/B3blNWinvCFSX1Z2oXsYw951vnkdpGcL/Op24FZCJbLFEwyJC90lFbkH+uHDujWUDoi6vRLwpdyNVTuu5sXgsoMFO1iL7+HwXFd4tBWoAVKaNyUvXV74EngXmyPqAaKVvkYYXIzK5XoCWbLawq/fCkxw6lqtS5waTP+WxkJSGHM0y+h9eGcQzJuz/g1sMajbsMWzY1Kn+FAubfxIeMTPo5wplVPnnE5WqKdwTxSx+OZagCfpcsMMvEgMTnEm40tsAiBTHDvmV/RJ1LGqq9qV4I6uydtm4WiWifI0CNVO/avaqzM8ggrkojoleIfAiNrWmXcD5u/RV+Ya+eOF3RnlETYrfvIQiJulNdB3/cpglucIMlUvrMmYmomBNJ0tEl/F7hcAGq90kkuWpnDeOjliOVKnzQy8xjrKheCfN09YiFOCTqewKGuG2eTzHlPHZdSVCQFrWK602Qyw6snAzm5XoD8EvtHj9Vwx6bsqZf6g+aVH+MXFs+I2sZPUgUuubYBcCbDEnaVXLB06nr7bxtpuuzLIhcg/MCiqwU=",\n "Expiration" : "2015-05-29T23:30:45Z"\n}”,  
“ansible\_ec2\_instance\_action”: “none”,  
“ansible\_ec2\_instance\_id”: “i-be204f6e”,  
“ansible\_ec2\_instance\_type”: “t2.small”,  
“ansible\_ec2\_local\_hostname”: “ip-172-18-11-206.ec2.internal”,  
“ansible\_ec2\_local\_ipv4”: “172.18.11.206”,  
“ansible\_ec2\_mac”: “0a:f7:08:e4:ca:d1”,  
“ansible\_ec2\_metrics\_vhostmd”: “\<?xml version=\"1.0\" encoding=\"UTF-8\"?\>”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_device\_number”: “0”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_interface\_id”: “eni-19979451”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_ipv4\_associations\_52.4.206.110”: “172.18.11.206”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_local\_hostname”: “ip-172-18-11-206.ec2.internal”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_local\_ipv4s”: “172.18.11.206”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_mac”: “0a:f7:08:e4:ca:d1”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_owner\_id”: “490606849374”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_public\_hostname”: “[ec2-52-4-206-110.compute-1.amazonaws.com](http://ec2-52-4-206-110.compute-1.amazonaws.com)”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_public\_ipv4s”: “52.4.206.110”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_security\_group\_ids”: “sg-d2ada2b7\nsg-dcf86db8\nsg-ddada2b8”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_security\_groups”: “AWS-OpsWorks-Default-Server,analytics-storm-temp-SecurityGroup-1DO5FALJZKU1J,AWS-OpsWorks-Custom-Server”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_subnet\_id”: “subnet-7bfbc70f”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_subnet\_ipv4\_cidr\_block”: “[172.18.10.0/23](http://172.18.10.0/23)”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_vpc\_id”: “vpc-ba514bd8”,  
“ansible\_ec2\_network\_interfaces\_macs\_0a\_f7\_08\_e4\_ca\_d1\_vpc\_ipv4\_cidr\_block”: “[172.18.8.0/21](http://172.18.8.0/21)”,  
“ansible\_ec2\_placement\_availability\_zone”: “us-east-1a”,  
“ansible\_ec2\_placement\_region”: “us-east-1”,  
“ansible\_ec2\_profile”: “default-hvm”,  
“ansible\_ec2\_public\_hostname”: “[ec2-52-4-206-110.compute-1.amazonaws.com](http://ec2-52-4-206-110.compute-1.amazonaws.com)”,  
“ansible\_ec2\_public\_ipv4”: “52.4.206.110”,  
“ansible\_ec2\_public\_key”: “ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaTf6w7IMh0tkq6Zyrk3EWvnBeVCCJ559dEM9F8372PEQ5ys5l/bjPDv5jSRP4wuzWtlPLRa/q/05qQJ6eLDG8O1MIQ/wq0E/uDiiVB1tAmAI1ea7rajstRsdWpCE6ozF7lGmKKFH4czMDhY/Zjw0x2/v4z6XUO+RdHi+DHmH3ZxgPIlmb2SUOwC2aIKO97AWbnOQZkAjMa3cVVVolKIv6NoLs9E6dvUdwUw+W4u2krLczW4iPDpPWDUGLo4/oMOHS5EjBQJ8mVyzaBD+PAkwp1sLcqSJvkQPrfipBZv58a7gjK88UMnq8q6AlrMH1yFHiuHot8cGMFrVnxux13Jg5 dev.ops\n”,  
“ansible\_ec2\_reservation\_id”: “r-fc18d211”,  
“ansible\_ec2\_security\_groups”: “AWS-OpsWorks-Default-Server,analytics-storm-temp-SecurityGroup-1DO5FALJZKU1J,AWS-OpsWorks-Custom-Server”,  
“ansible\_ec2\_services\_domain”: “[amazonaws.com](http://amazonaws.com)”,  
“ansible\_ec2\_user\_data”: "\u001f\b\u0000ª~gU\u0000\u0003Í|i{âÆÒèw~E\u001fÆo\u0018g-8y\u0001K\rÂ\b-F99\<BAÖ:Øøþö[ÝZ\u0000ÛäÜç¹e ÕU]]{U·\u0018ô\u0006LU2ÐôÜ+DQ¥¶çF\u001bU ­o\!giG¦¯\u0006Ñ¹cn\fý’4ó®®\u0006ÛëÍk\§óExìf23¶?\u0017{gx7z\nK¥RµúæÁ;ëFÆ&:×lo©W5Ï}4ç¥Òâ×R`øÞtéÏ\u0003U\u0007\u0000×sÿÒ²j¸0l;Ô\u0002Ó`ÝÏL÷|¦Òð~,\u000fù»ñT\u001c3üMShNûÃÎô¦Ç\_WÎWjpn{ósu\u001d{~¸ö\u0002+¬¼\u0002ÁöúÌ+ çËÐ\bªº\u001a©gð¨Rr,Ý\fPÕGå?^]þ¥\¼¥¶x}\u0012^ñ¥¾û\u000ei\u000bÇÓ\u0011õ¢Þ]ÚQßì00\u0018~Ü\u001br1ù@qT¤\[\u0006\u0001ðò\<¶î7ÇÂgZÃ¡À³"¼­Ñ40f\u0017í`\u0013°þ°}7½\u0014Aäø\u0019`\u00023µ=Í®U3: ¼Ç f¿ÏðSï\_W\u0016QäWç\u0019ªéêjFUceXU\u0003h©ÒgaýLuÔgÏ\u0005BÏ4Ï9¯\_Pð§FÑ\r\nþ¡?×ë\u0017µ\u001d\u0018`³m#8æÏ×i\u0011:ÊuåoÂ\u0012{\r¶R*\u0019\u001bCCßý~ù\u0018\u0019\u0006ªªïÉú\u0014Õ~ù.\u001eUÓ^\u0006ÆÇSôG\t!à¨j#Ût\r×».Ðe\u0018\u0003\u0003\fA3Q¹\u0017E½xQ5\u0002B\u0018ÚÐÏ\u0010\u0013\u0004^L¢\u0018A\u001e¸ro\u0003\r´2\u0002óq¢ ðð#è\u0011û\u0018\u0004ÿ\u0019\u0001:j#H çáræ8f\u00040®nºó\u0010E\u001ejÊc4^ú¾\u0017Dgür\u0013o4ÕEª\u001dzùESÁ£p\u001bFC\u0000<Û@°\u0017ü\u0018ãcÚ5Ô8 \u0019î\u0010¬MÛF3@´XFH÷Ö.ú\u001cÓ]F°!õ1­Dx~Â_ÀQ©\u0011úùgf8@¿ s#ÒÎ\u001d/ÒÏ2©\u0002æÈÔ`Þëÿï9\tüø\u0007þ\u0011×JÀ+¬.ª¯³l÷¤ôR¥\u0002KtÚÐ\u0016\u001eÿvò\u0011|,XF5xÔªµ/µÚéï(ç\u000fÌè\n|F¢o³\u001f,AÝX’\fÀëb\u0013¤ëfvÃq`ôU\u0019°þ/6ä/ó\u0011ýN~EÕy(ô;\u0000\u0013]ø+\u0007Ý\u0002V\u0000,òÑ\u000f\u0016`y%\u0011¢\t±\u0001ÒðñÑÌ\u00113]Ñ\u0002üe\u0014l§\u000báILÚø\b\u0006=Å&M£ÚO 2ã\tÌ[\u0006îO(´\rÃGt\u0003?XüIN\b~Á]Õ§~àm¶SÓ}ôRBÍG²±ø\u0001v)áõ\tx·0BÕ ¸á®ÌÀs\u001dl-@Ù\u001cR\u0004TePù?Äáÿ\u001aã¼.\u001fL\>ÍsÚXË36Xóa¹ÕÊ\u00193? Î°¦à=º\u0016+3ÚBd54«\u0003Ð\u0014¸5-\<Köð\u0001\tÀyØ\<ì\u0011Â5X\u0014d\u001cFàÂ\u000b\u000fv23\u0000Ò§öpÌEîÎb3"øÀ:`Ü\bCHÊ¤ûvf_!Z\u0018\u000fÓ»\u000fÏò¾«IÅO¡¯Äªø/\u0004\u0001Ý\u0006\u000b\tAbÀÑ*\u000e0 ²X\rQ¡:~¬ê­n\u0011M¡7¢+d6+S3Îvñµ\u0018\\C\u001fHª\u001cUû¶·´uÈò¢Ôû\u001cç\u000bp\u0017ïJu·ku{vv\u0019O²\u0004ð(ÂP[J\u0007ð¬Þ\u001a\u00143S60ÅªQ0ûý4\u0006¬¾`£q\nVÕQ¥J7R7V) 8Í¼Ä\u0016KTùõª^ôø\f;4b´ÁÒÈqH\u001eo/\u0000­\u0001©\u000eýP#\u0001\t2«89Æj¥ÚØ\u0010·(M+ôR\f2%3§ÉÌiöø-Ö\u001dæûÌ;\>\u0015,\u001c\u0012âdà\u000b \u0006Uéwñ\u001eçfa¬~}ÊÇ²¹\u0002ó\u001eÕøSÌ=\u0007´v?9Í£\b#ÏÏt#®\u001d;iÒ\u0014.ÌÇ\bÿgÃ`\u001c|>Uþ'¬\u0016ª1c\u0003:ù#çå,\u0017&ðb;\u001cåÿ\tË\u0004G²ø2P?~$SQ5!ò´¸\u0014\u000bQ\u000e*\u001d})ìäa$ÁóÀæaõò¬\u0017\u0006-#ü Gt\u0005³¥\u001b-aï¹\u0002ÀQ2Ãé2\u001eL\u0018F´¢B¯nÌLÕMu¨~Çþú7T\u0001bá|´Ã\u0019Äª8¿©\u0010Õµ *õ ª-6øxR?E/ÀFÐ§÷¼!Ëî\u0011\u0019Óò\u0017Çÿ\tÙªÓGÕ1íí·,À\u0005¾´ñ\u0010 ~PMHÙ\u0001Ä.\u0016°åæ\bX¸\u001dÅè^§ï\u0000\u000eýùç»ä\u0014Ü\u000fñÆñui\u0006Ä·\u00107~Ï9}f\u0015\\.\tÿFÜ\u0006K÷<FSÍÐb[q\u00146ÇÑo\nÌxW[ÝLï\u0018cúØ\u0002ßAÕ¯\u0010ãpi,\bÔ\r\u0012ö\r\u001c\u0017}Øjxþx´úñßãO§gßÐç\u00158«ÓØµ·E\u0007ïÓàÔ1¿ÀÒU\u001dPà´\u0018\u0002^!\t¼Ö¿°Îýq\u0014ßË\u001b+~YæMDPä½ùxý{Ésn÷4ñ&ÒÇ¹|/Jû\u0004\u000eÇê\"R\\íÂèÛ04\u000bHÚnüpU5$\u0004þ$\u0013å[«!ÉuqV\u0005ì³|¢ðkJ\u0014ñ SÇÂ f¯gö±\u0015Ó½&û*\"È¤²t\u0011\u0019Cºj8¸jò\u0012g]Ë¥\u001cø~â^IcF¬Ö\u001eÄ\u0014q5s¦ÇÀAPáåC\u0003ÛN)\nT\u001fU\u0012\u000b<¿Ç1Üð¥\u0018ßUO\u001e@ªm>ãpaQË¤+91\u0014\u0006>ÂUX¥ôn±8ÏêÂþõ¸\"É/zVÂ³q\u0001J¨Ê\u0015¢dUÝÅ­AÊZs\u0018@2Cà\u0000ÎO!=ÅIgì\u001bIîUÄ8vp\u0012kÀ!A0.<S¦þ òs¿9^\u001dÃ%.*~¥ÄvJµtÝØRpÁYÕ§A·RJ}\\ì'ÿ\u00028 î\u0010ÄNò/ à\tÀ\u000eA>Úü\u00054M\u0002ú\u0018\f#\u000bosÑÒµ\\Ü6ÐÍ0\nÌÙ\u0012K«R\u0002ó*\u001dóúû\u0004%-\u0015+i`øªfÆ ¤?SàIÎ±}@«Îl\u00031÷Lÿ\u0007½\u0001\u0005\tèilc\u0011\u0017Z$ÄÄÄ\u0004÷F\u001a\u001f\t±Ð{$ÓÞ\u0016\tYo°\fÂýîJRÚ\u001fÔò$P«E\}vã^í©úÙ£¡{`à÷\u0004Úvæ\u0005ós9;7|Ã>ÿ|nÖ¿|&Ó8]ý\\ýræzj -Î\u0000g%vU¥,Mãé}S\u0010 à\\WòB#RIÓ H¨»hüþï3ê·úåï T\u0004çR¿á\u0004\nû#)\u0005äJ×ÿ\u0007\u001c.~/\u0014\u000eG¸±]\u00027²Â\u0005ÙæÌÔP¡® z{¾á¡|G\u001bÇ®å¾ v|Û9û÷\b³-ý%ù+Ç_æ\u0013Ò_ò¡âÿ\u001brÉÿöHÅ]ô&{¶SðTG*õÖ³#¿\u001aDwÁõz-+®\u001bSü\\ï§ÐÚ~\n}R#s\f#e¢4ª\u001fÞ2Ð rÛà\u0004 Ðüa©î¨ Ë%ØU\u0016\u0002@ÍáÙY¼\u001b\u0012\u0006âç(\u0003¢=M\u0006#¨öüE\u0004Õ¥\u000b¾ð¿BÍëÈÞETÄC\u001aB¸Áõ÷¨úVd{{ôÿ1£\nþöÆþ:=ßé/+ã?åË+ë§äý\u0017\u0018òOPÅÇ\u0004qäú¦`Òï\rÓê5¹)Ë\u000f9án®]ðªnd\u0004ªFÚ\u0005G«î[s¨\u0011ãiÒ\u001eUO\u0004\_UCF\u001aëÔÛsRW\r^{\u0017\u0010ðÇ$\u001aä½\>.$qà\u0017BAÚ½+GÁ2¶I¹1»~ÿéÍÀû\n~\u001cZ0i0Ãc|Hªö\u0001-ÓßoEùó®]Ãòý\>%9ÔJJ¼\{VÊ¼ÖÂÜO\u0010ËüMÒãÍÅC~ §\u001b y¤wXn§Ç\u001fÔaêû&\u0001i[\b a¡%^+ÎÝfoÚíqÂø:ÚÂx\<÷\u0016ªy\u000e o\u0014³º&¹jà êÇF#½rA¿ì&îôÝÓsC«= »Ü4¸¸¸x}î®\l\u0003ÏH\u0015\u001boÑ\u000fô@\u001bÅ½IHÉ\u001aZ¢~ü±ù»x±w rtST²©\u0004\u0016ßpøÒLdáñÚXâÂ22\njX¥³3\t\nÝàô±¡Oñ\tl6\u001eá-£ëÏÔÁÔ)T\n`3×½êÂiÿK5Ã\u001dKäè§\r\u0019lã1ò°B ÇÀs0ßV¦·\fÁð\ræ\u0013@æ\u0017\<B¶¯L¼³\u00069ûV\u0000¡£\u001c\u0005ØÛ\u0018SÊº: \u001bÉ½ ÝÆÎÂ\u0005iQ\u0013Åù\u0011ßPù¶ù$+,×/¼ð}\u000fÿÊ\u0015\fw Èå\u000f\bªG\u001bG\u0012Ü\u0002H\u0001°FÆéÙ©($±DqG|»\u0001þR!ò j/¸}àF:ÈØW\u0003p\u0010\>JæÃevwÊ3\u0002ßcÆ×_JPÚô§BoÀ\fEáºNn2×\u001f6o²1ºF²ëBer¾\u001cF°\u0005Pl.mzÏ3lïázoã\u0005}\u0011Ç ¾©À\<\b×8îc!ðæ\nP8éþ¹ÝeÚwcq¯ÈüO±~\>²\u0006\<°ÑÏ)M¿$Í±øO5@?\u001fl\u0013\u0000¢\u001c¦dg{Kô³Ðä;0Í&ÆD¬¬\u001c~ÁTcba,­É¡k\bå\r\u0016\u0012®¼3{ÆÐÒsNò\u0014Gò9É)ÐÇTFä´\bv;Ìd\u0016\7\u0004\u001aã’\rÚd-ð$PD{ñ\tnÁoÄ\u001a\u0002ø½3ÔD[@2\u000fd3´5\ÚÏr,\<1»\u0003\>¯k{\u000f¾\u001a-ÎPï8ú9$ n\u0001h\tõÒ¿OÁ=\blÃFÍYèÙØïaPLfþB\bl;ÕÖkS§\u0007\u0001\u001a¨\u001bÓ\u0001VºKg\u0006$x©º\u0017\u0000¿ÄÓ#$ÄNí¸¹\u0014@@ñ1çêa\f¼Ìp_rgdÊ:\>~N\<ç\u000f±}á-ëlHÎ »hÕdVby\u00181\u0006.ÐP§â¥\u0017h¼ðÖ1ÃhùøxF´\n7\u0013ã8\u0013ó6:"åX\u0002Ü8ÅÀpA\u001cU\u0000ù\f\u001aâ\u0019¡[ ´E$I\>ÐG\u0007°M\b/öè1æN¸ gÞ³dÝ³\u001c\u00183¡\u0012wm1\u0005\u0018Ã¸Û¬Òªf(FX Ìð\LÇáÚ1;îAþ)ïT\u0014Àv!¶ìô\u001f\u0000\u000bª\Õ²)3\u001a¾n6¥ø¤ `9Ba2±\<Ïö\<\u000bòG\u000b-½ââÎ\u001e?\u0015 ø·%ön\u001fOwW~NþØ9Á\u0017r 9wSÍÉ\u000e;â¸\<MF¯+Ý\u0018þ\u001cå&#`øâÆõÉ\u001fµ«j¹Ãy\u0005\u0006 aù\u0005³\u0010+©jË\u001d¸t §ª\u001fãæ|\b#})£ò\<÷Ñ]f\_j¿\u0010\u000bu6\>rbøë)¾Z\u001e¼üö\u001bªn0Ü\u001aøL\u001cR\u001e\fW«iÊøgr-æ+!!ÙÅKù§ü±MÆ}\<»£\u000frÇ§RR\>IAÈ©h¥\u0002tä+ øÊ\u0015ÃóCþwyìÜ^ñrù+\u0002¦áøâ\u001a°ìß’÷M¡\u000baý\u0017r.¶»o©%âMixÙÝúÈÝûJäæsØV$l|ÆÀ\u0018\u0016We9ÚÓqÜ§Jõ\u0005?-g\u0015f²=\u0010/ÊáÁNnw»\f¢ßwF\u0019à3wLÊË¡HµØzöâ\u001163\u001bç¥é@\u0012\u0010 \<v°SRñ9wwÅGÎÜ-\u0002¼ö£¦F(~Y\u000e\u0005H\bnv\u0006^4íf¹.TP]UÃ\u0017ðW3:Û¥À8±ÎÝùÈs2&ê\u0018/ã’ynÆ#9~&Â£x\r\u0018É\>g\<NVÀ¡\u001bÖ\<ª¼d.¡Lî¶¢Ó¼¾~Ì&Eý/û\u0019±qh¯á,-\u0019\_Q ÞSñøòÆ0ê\u0011LvùÇ\2ÆÌÇAÊSpZPë\u000fè${\u0004rµ\u0001ãÜcÂ¶³Ýê©}±Ù\r»\u0004BÁÛk\u0016¯\u000bÂÿó{¿.r\të’Ñ!@\rU\u0010¦æ\u0012Ü7ÛwØÙB Û×\u0002±÷©¦"Ç\fÃ´BN&íyì}:ñE ôP2»fÙ\u001eÀð×¸ÐJE\u0010ÇØ\u0013µS[\f\u0003ÏdIE\u0007AÆ!y½Dq\u0018$¬Ù\u0017¬Ç;ÿ\u0012UÂ=ì\*[9¯ Ê\u001fI#cèt\u001f)¦ázOß^ÎSt¤ÉUÞ¹t\u001cC%Â \u0017â¦áB¥!ïd\u0001³$BÅ=\u0017LrH\u001eVÉ¹%\u0010hT{ÉÍ\u0014\u000bý&\u001a:ÆC 3|ye.\b=Y÷[ÿ1Á\<f%.G40\_Ï\u001cUÁv\nì\u0007\u001eØSh¾oèþÅ·Z\u0011UÜ\u0003\u0016Zºf|\u001e|!þ\f»2ÉÂð­Ù;\u0005; æ\u0014+\u0006½\u0017üS}DµÔ\u0010c)g;C{\nEð\u0014å\_Ê:ÅLÃÝ»ë\_K¹Ä\u0001+Qú(¾SB\u0015ù³’¯S`£ñàCv¨s¸Ò=ìîb\u001cã´¯aÆèØßd\f/°c\u001aæì\<\u0011µqÀé¢ç9ÍI\>:e\n«ê¾zÄ\n?ÉÇ©\n\u001eH\u000f¢R²\u0013F«Z´TíÀ)n`Oñ\u0005 H¹È¤üc`¹ ÁVâK\u0006×ø\u001aß»{¯6\u0016\u0016À\u0014Æ÷tÃÞ\u0011ý(HýWÐ4Èúß\u0016ö.|\<\u001a¸VÐâ7¤m¸s 4Ë j\ªÅ"\u0004ØT\bVLHÄ\u000bzx{qdèAñ\u0016\u000bC×i¼®Æ\nßæk+çÿI\_æê\u0013RÏQêwk/øJV\u0014»¹ÿ\u000e°\f\u000f¬!·ÜK\u001cãñxNpJÜ¢êÈ\Þ\*èvÁì\u0005Ù¸¹ªÎó\u0014ò±iü\t7\u0001\r¤©x6å[°©Âüª©Wko2 A¿¿ì_[%ÕÞgö¾\u0015ù¾9ôÑÜÑOälÿXÍöW%3ö·ðrºÇ}zW¶\u001cGGiù\u0001bQÖ þ§\u0018\u001av±è\u0003ÒpÚâZXuIù®q\u001a^ìIj¼t\u0013á;F M\u000et¸¬-a#:RÆ¹\b}´bIú\u001eÇ\u0012í´å÷`ÉXåH²\u001d?I«¾\<nò\u0006ÀÜUíëq¯\u0003©Õ À\u0010É6Ãë¹7\u0005ðcÒ± ·®\u001aä °Ã~M|1kðJ50\u001c/2ª¤üÇ_H\u0012ªÓ¸å]dä\u000fhµ3v\u001a@Ü\u000f]¤ý#þ´Z¼\u0012IXsÜ\u001d\u000f^\n\u0013wÔñËqõ¾ÛúoÿûûB.~£\u000eAÝ³MìK§écv /ø¾ãÎÉÚ}/É#)ÎË44^\u001cÔ\u001dO0h8c\u0011ØD0\u0007½Üý {_%E\u000b ÜI)±$Ò)KK\u0015¢8I7ðJ\u001dq.Â÷\u001d_¦wy¯æôa\k%÷3\u000fË¯\\u0003l·{¾xG\f¾1°\u0001}\u001aèô4²{ðéSn89#â·N²mÇo®$\_Òægê¥Ê¹)Þ\u0018¶ANÃÒð\u000byÓ®5¶¯Ä)(\>y\<ÐñóïwÈ?à\u0013Ðe\u0010A¼V:~DCv^3V¢½³­BíiQ,øõLF{jójóªæ\u0012O/ìîÈxÕ\u001f?%ò/\u001aà«$3üjp©´^`$s#òü(\u0004[¾Ò¯+û_ºZ^-®ÖeÜ=&\u0015\u001eé²iø6Rù$\u0019+&«µr_þ\u000fÄÏ§}mÎ~\u0013þäÍ2\>èÃç\u001dWÕJ%ÝO?Åè¯ OÌì\bò\u001c\u000bw¸\u000fðÚ\u0019ÞÝÒß:\f2ÈÃC¬\u0002Cq+Êp\u001d\u001cv\u0015P\u001d¸Þ\u0003Lú!¦üQØQd¹FÎ\u0001¾u¯p,W@T\bU\u0007\u0018\u0016\u0019\u0006ÒzN\>'çú ©ß§\u0013ãbOLî°ÆA2VR¨°é\u0000ÉFæ;\u000eÓyäF¨j¥¸9[lÒäZ%ÇÂÁQë.4$ðÞ$q«\u001e¹ÆúØ\u0019Wz(\u0002Ö\u0018î\u000evH§±öÆq^òîA-î¡¾u.\u001eGÃ¸]÷æ¤jºÏ2)¹\_9©.ãS§òI\u0007à@øîkóÉQüÀ[\u0011Ó\fÌù\u0002\u0000[Õâ#"\r\u001fÑãûè­?sV\u0018ÿ\u001ecpñ-Gïßvò\u000eîpébß\u0011\_yIÜ5I \bPþdW;THÓ6«gß{|©)\u0005$¹\u0001ÌF5-¾Vã\u0007Æ4¾\fUHdwÃ±\u0002\u001c¿¹q¾v¶ul\u001cßs?ñ\u0011\>%á\u001eº¸ÖMo¦ì?,¥\nâ½8x\Ú»Zz8£Z­®ð;ºxù+¾;téÊÔaÇf´½Bj]Uk5ú¢úe¦\u001bÕÆ¥Q\u0019\u0017TUoÐuêGu¦iZº9]\u001eÎ Êà\f÷\nýý\u001f¥8Ä\u001aÍ¯Ð[¿,\u0001 P§Fá4SÙR³è\n\u001dYÌ|sý\u0011Ì¼\u0010Ø\u0012¿utÂN7~¡:\É\u001cc¸ºïA\tywÞ\u001c\>\rßæ»B\u0017\u0017õÜ39³Mmj\u0019 ®ÍL\u0017{¯?« ûþúcºÍú­`¶Fx;p=\u001fS\u0012?£î\u0004Ñ¾\u001dYö×Øh+µh£v"¶ë\u0000\>`n[¢(uF"{?¢X~È°ÜX´Û£ÞÇßy©\u000b§Éº%l#e|c?óÂâ^\u0016skÿwí¶Ð½½5Øyí®Þº0ÄE ÉëµÞY¬EK$Æ\u000fyË^uÝì×\u001a]¹Ë×\r» ÏÅ[~(±OÔj)û¡O-XNj)J]±Úvó}þ®æm\u0005Wj+\u000f-Ys¥Ú¾õtJ\u001aa½n1\u001c#)’ö·ô@¡èn±ªÖmÝr4ÿ4±ù%góm¾Î¯\u0006Î¥ÂIöZ|Ðîø®\>\u0006pÉ\u001e¬8ùÒ1Ú¢Ú¹XñTãNyjÙ²«·\u0007\u000f\$\>óÌîmù¯×.ëº¨8cÖZscz³1s}êJú¼àåö¥4\u001cy[îiñ0ô®4¾\kh ÒÞÄV.ø’NæEº;\u0016x\u0006ÀgÔb(¸\u0013ÚpYÓ°ýá¸#Eª³ðaï(,zz{\u0017\u0001µÙjLCi[/¹¾3kG]ÌùRç\u0005ÝØ±ø¤¸\u0012\u0013Ù+\>÷ie®&8} TÐ\u001f\u0016Û±|¹Ò)¥1\u0011\u0017,êÝxõgÉ^¨3K¢Föünäê·^ð#±w¨\u0014+X£¹ÈJm±ozLÄÊ±:á´=¿¾Îk’y)Õx=Ç"Å\u0000ÎÛ[ÉbE~ÜêóEpöG\>Ö;VcXPU¶5¦8¬\_ -¢Õ±Ëº\nó%ÅyC£Ä\u000b¡fË#AS÷0x¢~mK¹Ù\}b^.yzAéu4[Q°ù\t-FVt+m/{¼ dY¯)ló\u0002óø\rõuO¼åÞfl)]µ¦srWiÉnk=\u0016t\u0011À’µ[qö¤#K§fÏ·+Y\u0014eëXýÞÓ=LüÚ£x\u001b\u000f,ý«P×Wz]ê(ÖB\u0019ÜèÝÙ\r·\u001eÊÏªÄÓJ’¼\u0010¥ùJ\u0012¬L÷°v¿¡~mç²’X\u001a÷ào&\u0010c\u0005kaÏdßSaï3Á{\u001fwù’Ö.\u001bn ¹­¡,îÔïuÝ\u001bÜñ¬ýS&«±\u001a?ë]±.]h½Õõ!³=A²»|í²§ÑÊDv\u001a¬ÎÜNvºwÛQv\u001bÀáãó@\áyBI\u0012è\u000e³á^À×í5ßmIÌ3-9üÍ ¡uÙ¥"CöþÄ}å¬\u0010ßWH¬­ty[îðâø©×àë¬ªáj(/"ÅÑ\u0014[7\u0007NC4\u0004f«t\u0006õö\u0013×\u001b\<\f6²ãã²rò¬Üs½R¬õò9AúÏüJ±Xoæp4i\bOz{â_\u000f\u0013Ùò\fU\u001fÊþÓ¡ñ=ä\u0019s¹\u001dt$Neì¾èzwl«#mð]{ÅuXï|Yó\u0016\rY\tû4ü !Ø+­s»\rÜ`¿ò¼`ù\u0007¶.ú°¿º³\u0018Od~Ìßèæ¨0\b$Ø1òÃ±\u001cÝöB\u001av\u0016AÍîcâ­KAdù\u0006omLõ\u001fpOz]|Zl8ûÖ\u00042àjÔVµ|\u0017lzfÑÄP\u001b^\u001eÕÇuö\u0001«\rÃLmGÚrîáõ\rÿÌ©³Nã~FqÀ,±\>²­,qîÀ\u0001¿dmdÔP\u0004\u0005\u0007p\u0005Vçä0\u0018Ü\u0000\u000boF\u0017\u0006ãß\u0018"oiTã~â.,m\u001cÞI wÔÆæEÎÁÀû5º\>\u0016\u001e\u000b¶\u001aÈ4£!¥°ìýÌ±¶BÝz\u001eÐÖ3Ïú¬dÑ\rÉå·ã\u0016#Ê\_6:{£TÆ,Ëamú¼l)¶Üåº\ns\t¾µeIÎåhò\fòw%ÖxÒ’rU^7\<\bì\u001aI`qVÔÀ¬£\u0017¸\rëâöÒ\<ø\u0012o{\råI7Ç2\u001fµ\u001dÎÔ@ª]vu\u001f+7\[aoÅ3GzÆ&#zõþó­0ë¶\u001eT\u001fLÄ\u000fÄY\u0002ÃuÕö%«:Ò¡ ~»Qh\u0005\u0007ö»Ñîf\u001d\u000e¿¤ÙZ\u0000Ä­µÏÙÞ Ö±ë¸èßÕù\u001a_Sn\u0006²\u001e=µîew\u0014\u0018Îm}\u0000ÞAvg]fYÌùî\u001aÕ¹XÛ¬\u0006ÝÖVdx_lú¶â(\u0007´/÷kÑ_\f\u001c\u0012é\u0001-?Ì\u0001}ëBtÇáH¥[mº\u001dhuÑi~9Zw£úíDé.\>Ä0\u0000OÃõëª´#^\u0013£!ðc«\>,\u001cáæ\u0016·\u001c2ËiF_·¹¥!²\r]n\u0000\u0005 Þ\u001eè\u0002[7º¶¬\>)Tæ\u0003Z¡µ.ß\u001e\u0014ì.\u0006ÖeC­ûàö\u00070ÕºÓ¨’3½Í¨ÆÝ\u000f¥ÉJcíîH^\u0004bÍæUJZjÂh+Èº=°\u0017÷óö(\u0018É\r³øñäáöaüpK÷kTmB±ÊXò[²°\u0010’ÎæNnë,ú\u0002s;\u0010jÑr,h5Ì:gT\u0007­[Ê\u0016\u000b\u001eÆÌ\u0018».=´\u0018¡ËK`]®fôÈR|\u0001aÛ\u001bå¿\u0010\u001dÝ\u0007C^\u0011¹KÑ@º}h[üV§n%¾}ù¬Ö[+ÃåÚöÒâ:1\u0013\u0005S)#Ùç$W£¹º\u0007ùÄzuµ;3Ö^ßÕçÁÔ\u0003[¯I\u0012×\u0003Ï{3\u0010g®æÝé7"ØAëNºÂ\u0013Ó\u0010ºÒí¬Æã\u000e`]¬8¡õ\fAJ\u001aÓÚÚ\u0010/-½;ØÖªs¶/©,ÿ\u0004\u0012Äî|£Ñ \u0019\u0018ÕnZ\u0011Ø\u0003I\u0000×þB³¼­ñÄwea¾\u0019=ñTk°w5«.X\u0014(\rÖ\u0000\u001e°câ¨¡¼aôÎåf°½Ä9üÀ\>HâåWðÛ£\u0019Ò\u0013Ù¾=@Õ&ëNÛ¢©\u0001%=bÔVh1X~#\u000b^µÖ´V\u0018âimIzÐjúÓ¢\u0007)\u0001«\t\u0013»a]NôG3¼ãº~\u0007f²\u0010\u001e¸á@VÄ±»Øµ/w\u001aEä\u000e§¦Q¶%\<ñmHriQ\u0006:Ó°Ç¬ÿ\u0015láiD-Â¸ù\<æÏ#Ò³¦@ÐP\u0007m\u001c\u0012 éíPÖV\u0007U\u0018e¢\bÒj\u0004é;ïÌÁ\<Ø­ 2ÔâqG\u0007³á¿Ý\u0016(ïÖ::VZYÒi\u0010Êç±Ì\u000eFVo¥ËÒP°S×\fni5íò~äÅù(\rùö.ÿÁÄ\u001f¤@\u001eäTÚB\rls/áG*þÓb:=\u000eÝ­~¯î\t\u0019Ä\u0005à ×kõ\kn}]XfçrMµ#m6íæèK\u0013?oÏïà3ÓtÍ\u001f\r°¯ú §¶W\u001ds}ùµÈiÊ¶ÿðI½ì¹gÓ¶¬OÍIÝ`?»æ?ªiN]1\u00065Æûª°Âª®;\u0017r­fXÈ±¥\u000eÆñcoæoÖ\u0003ïñ9n­LgS¿ïÜ±ÏÜ=ÕZL.·ãÏÍ\u00013ØDÎW+ìÎ¨¹½vXã\u0016ª }±Q$Å8MYú\u0015f»jÏ©ÞÁ¦ãÐ1rnj\rãî4EZ\ôo#îÑ]k\n?¸0Úîî.G`ëÆBÆ8V­\u000b¥Q»\u001d\f\u0019Ó¹\u001cLÚý­.’+YÍírç·¢z[ÿúãm8³ZÒùm£¥\u0005¹63=¶\>-0\u001eÇ{Ýuk$^Ê®p¾ù"â\>¯Ö·³\u000bïóª¶hñt·Ö\u0019ßô×[åÇuû\u000b#u?=¨òÄ\u0017éù¹;fÈ\u0015CuÔ»i-ü\bán\u000eåW)]wëgF´6\fw\_¸r?îaá\_\u0015[º\u0007/m$/}\u001dvxºMî¦Ï¤¿¯tüÒëmwÞ«8Ç/ü\u00053TåQåoTØ´Ól ÐÌI~\bUÒ\u001e]úKFPÙÝzÊ¶\u0010Ik(ù}Áû¸Ã\AùQ~v;¾NæÃçô]·äÇ\bM\u001bÀ^í\u0002åqà\u001f¼ÈW\u0010Jî’vïüãU\u0011zü¨\u0015TØþ·&òG?»\u000bEéo\u0010\u0016\_ªüâI)iÔ¾ó\u0013² jÿ\u0017õ60í4W\u0000\u0000"  
},  
“changed”: false  
}

I need to investigate how that is getting there. But I think it may be the cause.

---

<div class="post-metadata">

**Author:** ![Toshio\_Kuratomi](https://avatars.discourse-cdn.com/v4/letter/t/41988e/32.png) [@Toshio\_Kuratomi](https://forum.ansible.com/u/Toshio_Kuratomi)\
**Post date:** [June 1, 2015, 8:01pm UTC](https://forum.ansible.com/t/unicode-issues-with-ansible-1-8-and-up/18344/7 "2015-06-01T20:01:35Z")

</div>

Okay, I took some time this morning and it is indeed the  
ansible\_ec2\_user\_data that's causing this. Inside of that entry  
there's a "{{". That's triggering jinja2 to try templating the value  
in the string. Because it's not really intended to be templated but  
filled with all sorts of unicode instead, when jinja runs on it it's  
finding that the format of the "variable name" is invalid and then  
creating that error.

The easiest workaround is probably to figure out why ec2\_user\_data at  
your site is being populated with those values and try to get rid of  
the "{{" in there. From the ansible code side we have to figure out  
what the right thing to do is. bcoca thinks that we probably  
shouldn't be templating facts ever but that it is being templated in  
v1 in some obscure cases that we're running across here. We may be  
able to address that in v2. We could also add some boilerplate in  
somewhere that we process the facts to escape the "{{" but if we do  
that we'll have to make sure that facts are always templated so that  
any escaped "{{" are unescaped by the templating. A third option is  
that we actually do want facts to be able to return values that can be  
templated. if that's not the current behaviour we probably don't want  
to add it but I'm not sure if it's usually the current behaviour or  
not at this time.

-Toshio

---

<div class="post-metadata">

**Author:** ![Andres\_Silva1](https://avatars.discourse-cdn.com/v4/letter/a/c5a1d2/32.png) [@Andres\_Silva1](https://forum.ansible.com/u/Andres_Silva1)\
**Post date:** [June 2, 2015, 1:11pm UTC](https://forum.ansible.com/t/unicode-issues-with-ansible-1-8-and-up/18344/8 "2015-06-02T13:11:32Z")

</div>

Thanks a lot for looking into this. I reached out to AWS and they explained that the UserData is encrypted for OpsWorks instances. That is why we are seeing the garbled text that is causing the issue. I asked if there was a way to prevent this from happening but have not heard back yet. Im waiting for their response. In the mean time we have reverted back to version 1.7

BTW. Why is it that this does not happen in 1.7 but does in 1.8 and above? Does it have to do with the version of Jinja 1.7 uses? Thanks again for your help on this.

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [June 2, 2015, 1:18pm UTC](https://forum.ansible.com/t/unicode-issues-with-ansible-1-8-and-up/18344/9 "2015-06-02T13:18:15Z")

</div>

ansible does not embed jinja2, its just a dependency, so the  
underlying version depends more on how you installed ansible and  
pulled it in as a dependency.

This is probably caused by the attempt to normalize variable  
management and error management in 1.8 which fixed/broke many things  
like this. Facts were never meant to be templated and many errors were  
being swallowed before, 1.8 started bringing them to the surface.
