From Ryan.Groten at stantec.com Fri Oct 16 12:54:45 2015 Content-Type: multipart/mixed; boundary="===============0303109898821176941==" MIME-Version: 1.0 From: Groten, Ryan To: users at ovirt.org Subject: [ovirt-users] Adding direct lun from API doesn't populate attributes like size, vendor, etc Date: Fri, 16 Oct 2015 16:54:42 +0000 Message-ID: --===============0303109898821176941== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --_000_a0d6297bdc3245ba9b9edd86480d19b9CD1001M21corpads_ Content-Type: text/plain; charset=3D"us-ascii" Content-Transfer-Encoding: quoted-printable Using this python I am able to create a direct FC lun properly (and it work= =3D s if the lun_id is valid). But in the GUI after the disk is added none of = =3D the fields are populated except LUN ID (Size is <1GB, Serial, Vendor, Produ= =3D ct ID are all blank). I see this Bugzilla [1] is very similar (for iSCSI) which says the issue wa= =3D s fixed in 3.5.0, but it seems to still be present in 3.5.1 for Fibre Chann= =3D el Direct Luns at least. Here's the python I used to test: lun_id =3D3D '3600a098038303053453f463045727654' lu =3D3D params.LogicalUnit() lu.set_id(lun_id) lus =3D3D list() lus.append(lu) storage_params =3D3D params.Storage() storage_params.set_id(lun_id) storage_params.set_logical_unit(lus) storage_params.set_type('fcp') disk_params =3D3D params.Disk() disk_params.set_format('raw') disk_params.set_interface('virtio') disk_params.set_alias(disk_name) disk_params.set_active(True) disk_params.set_lun_storage(storage_params) disk =3D3D api.disks.add(disk_params) [1] https://bugzilla.redhat.com/show_bug.cgi?id=3D3D1096217 Thanks, Ryan --_000_a0d6297bdc3245ba9b9edd86480d19b9CD1001M21corpads_ Content-Type: text/html; charset=3D"us-ascii" Content-Transfer-Encoding: quoted-printable

Using this python I am able to create a direct FC lun properly (and it wo= =3D rks if the lun_id is valid).  But in the GUI after the disk is added n= =3D one of the fields are populated except LUN ID (Size is <1GB, Serial, Vendor, Product ID are all blank).= =3D

 

I see this Bugzilla [1] is very similar (for iSCSI) which says the issue = =3D was fixed in 3.5.0, but it seems to still be present in 3.5.1 for Fibre Cha= =3D nnel Direct Luns at least.

 

Here’s the python I used to test:

 

lun_id =3D3D '3600a098038303053453f46304572765= 4'=3D

lu =3D3D params.LogicalUnit()

lu.set_id(lun_id)     &nbs= =3D p;            &= =3D nbsp;           &nbs= =3D p;            <= =3D o:p>

lus =3D3D list()

lus.append(lu)

       &nbs= =3D p;            &= =3D nbsp;           &nbs= =3D p;        

storage_params =3D3D params.Storage()=3D

storage_params.set_id(lun_id)

storage_params.set_logical_unit(lus)

storage_params.set_type('fcp')

disk_params =3D3D params.Disk()

disk_params.set_format('raw')

disk_params.set_interface('virtio')= =3D

disk_params.set_alias(disk_name)

disk_params.set_active(True)= =3D

disk_params.set_lun_storage(storage_params)

disk =3D3D api.disks.add(disk_params)=3D

 

 

[1] https://bugzilla.redhat.com/show_bug.cgi?id=3D3D1096217=3D

 

Thanks,

Ryan

--_000_a0d6297bdc3245ba9b9edd86480d19b9CD1001M21corpads_-- --===============0303109898821176941== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS1fMDAwX2EwZDYyOTdiZGMzMjQ1YmE5YjllZGQ4NjQ4MGQxOWI5Q0QxMDAxTTIxY29ycGFkc18K Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJ1cy1hc2NpaSIKQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogcXVvdGVkLXByaW50YWJsZQoKVXNpbmcgdGhpcyBweXRob24gSSBhbSBh YmxlIHRvIGNyZWF0ZSBhIGRpcmVjdCBGQyBsdW4gcHJvcGVybHkgKGFuZCBpdCB3b3JrPQpzIGlm IHRoZSBsdW5faWQgaXMgdmFsaWQpLiAgQnV0IGluIHRoZSBHVUkgYWZ0ZXIgdGhlIGRpc2sgaXMg YWRkZWQgbm9uZSBvZiA9CnRoZSBmaWVsZHMgYXJlIHBvcHVsYXRlZCBleGNlcHQgTFVOIElEIChT aXplIGlzIDwxR0IsIFNlcmlhbCwgVmVuZG9yLCBQcm9kdT0KY3QgSUQgYXJlIGFsbCBibGFuayku CgpJIHNlZSB0aGlzIEJ1Z3ppbGxhIFsxXSBpcyB2ZXJ5IHNpbWlsYXIgKGZvciBpU0NTSSkgd2hp Y2ggc2F5cyB0aGUgaXNzdWUgd2E9CnMgZml4ZWQgaW4gMy41LjAsIGJ1dCBpdCBzZWVtcyB0byBz dGlsbCBiZSBwcmVzZW50IGluIDMuNS4xIGZvciBGaWJyZSBDaGFubj0KZWwgRGlyZWN0IEx1bnMg YXQgbGVhc3QuCgpIZXJlJ3MgdGhlIHB5dGhvbiBJIHVzZWQgdG8gdGVzdDoKCmx1bl9pZCA9M0Qg JzM2MDBhMDk4MDM4MzAzMDUzNDUzZjQ2MzA0NTcyNzY1NCcKbHUgPTNEIHBhcmFtcy5Mb2dpY2Fs VW5pdCgpCmx1LnNldF9pZChsdW5faWQpCmx1cyA9M0QgbGlzdCgpCmx1cy5hcHBlbmQobHUpCgpz dG9yYWdlX3BhcmFtcyA9M0QgcGFyYW1zLlN0b3JhZ2UoKQpzdG9yYWdlX3BhcmFtcy5zZXRfaWQo bHVuX2lkKQpzdG9yYWdlX3BhcmFtcy5zZXRfbG9naWNhbF91bml0KGx1cykKc3RvcmFnZV9wYXJh bXMuc2V0X3R5cGUoJ2ZjcCcpCmRpc2tfcGFyYW1zID0zRCBwYXJhbXMuRGlzaygpCmRpc2tfcGFy YW1zLnNldF9mb3JtYXQoJ3JhdycpCmRpc2tfcGFyYW1zLnNldF9pbnRlcmZhY2UoJ3ZpcnRpbycp CmRpc2tfcGFyYW1zLnNldF9hbGlhcyhkaXNrX25hbWUpCmRpc2tfcGFyYW1zLnNldF9hY3RpdmUo VHJ1ZSkKZGlza19wYXJhbXMuc2V0X2x1bl9zdG9yYWdlKHN0b3JhZ2VfcGFyYW1zKQpkaXNrID0z RCBhcGkuZGlza3MuYWRkKGRpc2tfcGFyYW1zKQoKClsxXSBodHRwczovL2J1Z3ppbGxhLnJlZGhh dC5jb20vc2hvd19idWcuY2dpP2lkPTNEMTA5NjIxNwoKVGhhbmtzLApSeWFuCgotLV8wMDBfYTBk NjI5N2JkYzMyNDViYTliOWVkZDg2NDgwZDE5YjlDRDEwMDFNMjFjb3JwYWRzXwpDb250ZW50LVR5 cGU6IHRleHQvaHRtbDsgY2hhcnNldD0idXMtYXNjaWkiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rp bmc6IHF1b3RlZC1wcmludGFibGUKCjxodG1sIHhtbG5zOnY9M0QidXJuOnNjaGVtYXMtbWljcm9z b2Z0LWNvbTp2bWwiIHhtbG5zOm89M0QidXJuOnNjaGVtYXMtbWljcj0Kb3NvZnQtY29tOm9mZmlj ZTpvZmZpY2UiIHhtbG5zOnc9M0QidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29y ZCIgPQp4bWxuczptPTNEImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlLzIwMDQv MTIvb21tbCIgeG1sbnM9M0QiaHR0cDo9Ci8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4KPGhl YWQ+CjxtZXRhIGh0dHAtZXF1aXY9M0QiQ29udGVudC1UeXBlIiBjb250ZW50PTNEInRleHQvaHRt bDsgY2hhcnNldD0zRHVzLWFzY2lpIj0KPgo8bWV0YSBuYW1lPTNEIkdlbmVyYXRvciIgY29udGVu dD0zRCJNaWNyb3NvZnQgV29yZCAxNCAoZmlsdGVyZWQgbWVkaXVtKSI+CjxzdHlsZT48IS0tCi8q IEZvbnQgRGVmaW5pdGlvbnMgKi8KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OiJDZW50dXJ5IEdv dGhpYyI7CglwYW5vc2UtMToyIDExIDUgMiAyIDIgMiAyIDIgNDt9CkBmb250LWZhY2UKCXtmb250 LWZhbWlseTpDb25zb2xhczsKCXBhbm9zZS0xOjIgMTEgNiA5IDIgMiA0IDMgMiA0O30KLyogU3R5 bGUgRGVmaW5pdGlvbnMgKi8KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1h bAoJe21hcmdpbjowaW47CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7Cglmb250LXNpemU6MTIuMHB0 OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiIsInNlcmlmIjt9CmE6bGluaywgc3Bhbi5N c29IeXBlcmxpbmsKCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7Cgljb2xvcjpibHVlOwoJdGV4dC1k ZWNvcmF0aW9uOnVuZGVybGluZTt9CmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dl ZAoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCWNvbG9yOnB1cnBsZTsKCXRleHQtZGVjb3JhdGlv bjp1bmRlcmxpbmU7fQpzcGFuLkVtYWlsU3R5bGUxNwoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFs LWNvbXBvc2U7Cglmb250LWZhbWlseToiQ2VudHVyeSBHb3RoaWMiLCJzYW5zLXNlcmlmIjsKCWNv bG9yOndpbmRvd3RleHQ7fQouTXNvQ2hwRGVmYXVsdAoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1v bmx5OwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjt9CkBwYWdlIFdvcmRTZWN0 aW9uMQoJe3NpemU6OC41aW4gMTEuMGluOwoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGlu O30KZGl2LldvcmRTZWN0aW9uMQoJe3BhZ2U6V29yZFNlY3Rpb24xO30KLS0+PC9zdHlsZT48IS0t W2lmIGd0ZSBtc28gOV0+PHhtbD4KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0zRCJlZGl0IiBzcGlk bWF4PTNEIjEwMjYiIC8+CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1s Pgo8bzpzaGFwZWxheW91dCB2OmV4dD0zRCJlZGl0Ij4KPG86aWRtYXAgdjpleHQ9M0QiZWRpdCIg ZGF0YT0zRCIxIiAvPgo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+CjwvaGVhZD4K PGJvZHkgbGFuZz0zRCJFTi1VUyIgbGluaz0zRCJibHVlIiB2bGluaz0zRCJwdXJwbGUiPgo8ZGl2 IGNsYXNzPTNEIldvcmRTZWN0aW9uMSI+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9M0QiZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhcz0KIj5Vc2luZyB0aGlz IHB5dGhvbiBJIGFtIGFibGUgdG8gY3JlYXRlIGEgZGlyZWN0IEZDIGx1biBwcm9wZXJseSAoYW5k IGl0IHdvPQpya3MgaWYgdGhlIGx1bl9pZCBpcyB2YWxpZCkuJm5ic3A7IEJ1dCBpbiB0aGUgR1VJ IGFmdGVyIHRoZSBkaXNrIGlzIGFkZGVkIG49Cm9uZSBvZiB0aGUgZmllbGRzIGFyZSBwb3B1bGF0 ZWQgZXhjZXB0IExVTgogSUQgKFNpemUgaXMgJmx0OzFHQiwgU2VyaWFsLCBWZW5kb3IsIFByb2R1 Y3QgSUQgYXJlIGFsbCBibGFuaykuPG86cD48L286cD49Cjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNE Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9M0QiZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpD b25zb2xhcz0KIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNEIk1zb05v cm1hbCI+PHNwYW4gc3R5bGU9M0QiZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xh cz0KIj5JIHNlZSB0aGlzIEJ1Z3ppbGxhIFsxXSBpcyB2ZXJ5IHNpbWlsYXIgKGZvciBpU0NTSSkg d2hpY2ggc2F5cyB0aGUgaXNzdWUgPQp3YXMgZml4ZWQgaW4gMy41LjAsIGJ1dCBpdCBzZWVtcyB0 byBzdGlsbCBiZSBwcmVzZW50IGluIDMuNS4xIGZvciBGaWJyZSBDaGE9Cm5uZWwgRGlyZWN0IEx1 bnMgYXQgbGVhc3QuPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29Ob3JtYWwi PjxzcGFuIHN0eWxlPTNEImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM9CiI+ PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPTNEImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM9CiI+SGVyZSYj ODIxNztzIHRoZSBweXRob24gSSB1c2VkIHRvIHRlc3Q6PG86cD48L286cD48L3NwYW4+PC9wPgo8 cCBjbGFzcz0zRCJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPTNEImZvbnQtc2l6ZToxMC4wcHQ7Zm9u dC1mYW1pbHk6Q29uc29sYXM9CiI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8cCBjbGFz cz0zRCJNc29Ob3JtYWwiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0Oi41aW4iPjxzcGFuIHN0eWxlPTNE ImZvbnQtc2l6ZTo9CjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhcyI+bHVuX2lkID0zRCAnMzYw MGEwOTgwMzgzMDMwNTM0NTNmNDYzMDQ1NzI3NjU0Jz0KPG86cD48L286cD48L3NwYW4+PC9wPgo8 cCBjbGFzcz0zRCJNc29Ob3JtYWwiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0Oi41aW4iPjxzcGFuIHN0 eWxlPTNEImZvbnQtc2l6ZTo9CjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhcyI+bHUgPTNEIHBh cmFtcy5Mb2dpY2FsVW5pdCgpCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9M0QiTXNv Tm9ybWFsIiBzdHlsZT0zRCJtYXJnaW4tbGVmdDouNWluIj48c3BhbiBzdHlsZT0zRCJmb250LXNp emU6PQoxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXMiPmx1LnNldF9pZChsdW5faWQpICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnM9CnA7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jj0KbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzPQpwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzw9Cm86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFz cz0zRCJNc29Ob3JtYWwiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0Oi41aW4iPjxzcGFuIHN0eWxlPTNE ImZvbnQtc2l6ZTo9CjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhcyI+bHVzID0zRCBsaXN0KCk8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCIgc3R5bGU9M0QibWFy Z2luLWxlZnQ6LjVpbiI+PHNwYW4gc3R5bGU9M0QiZm9udC1zaXplOj0KMTAuMHB0O2ZvbnQtZmFt aWx5OkNvbnNvbGFzIj5sdXMuYXBwZW5kKGx1KTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xh c3M9M0QiTXNvTm9ybWFsIiBzdHlsZT0zRCJtYXJnaW4tbGVmdDouNWluIj48c3BhbiBzdHlsZT0z RCJmb250LXNpemU6PQoxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXMiPiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnM9CnA7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jj0KbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzPQpwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOwo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCIg c3R5bGU9M0QibWFyZ2luLWxlZnQ6LjVpbiI+PHNwYW4gc3R5bGU9M0QiZm9udC1zaXplOj0KMTAu MHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzIj5zdG9yYWdlX3BhcmFtcyA9M0QgcGFyYW1zLlN0b3Jh Z2UoKTxvOnA+PC9vOnA+PQo8L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29Ob3JtYWwiIHN0eWxl PTNEIm1hcmdpbi1sZWZ0Oi41aW4iPjxzcGFuIHN0eWxlPTNEImZvbnQtc2l6ZTo9CjEwLjBwdDtm b250LWZhbWlseTpDb25zb2xhcyI+c3RvcmFnZV9wYXJhbXMuc2V0X2lkKGx1bl9pZCk8bzpwPjwv bzpwPjwvc3Bhbj0KPjwvcD4KPHAgY2xhc3M9M0QiTXNvTm9ybWFsIiBzdHlsZT0zRCJtYXJnaW4t bGVmdDouNWluIj48c3BhbiBzdHlsZT0zRCJmb250LXNpemU6PQoxMC4wcHQ7Zm9udC1mYW1pbHk6 Q29uc29sYXMiPnN0b3JhZ2VfcGFyYW1zLnNldF9sb2dpY2FsX3VuaXQobHVzKTxvOnA+PC9vOnA9 Cj48L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29Ob3JtYWwiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0 Oi41aW4iPjxzcGFuIHN0eWxlPTNEImZvbnQtc2l6ZTo9CjEwLjBwdDtmb250LWZhbWlseTpDb25z b2xhcyI+c3RvcmFnZV9wYXJhbXMuc2V0X3R5cGUoJ2ZjcCcpPG86cD48L286cD48L3NwYT0Kbj48 L3A+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCIgc3R5bGU9M0QibWFyZ2luLWxlZnQ6LjVpbiI+PHNw YW4gc3R5bGU9M0QiZm9udC1zaXplOj0KMTAuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzIj5kaXNr X3BhcmFtcyA9M0QgcGFyYW1zLkRpc2soKTxvOnA+PC9vOnA+PC9zcGFuPQo+PC9wPgo8cCBjbGFz cz0zRCJNc29Ob3JtYWwiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0Oi41aW4iPjxzcGFuIHN0eWxlPTNE ImZvbnQtc2l6ZTo9CjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhcyI+ZGlza19wYXJhbXMuc2V0 X2Zvcm1hdCgncmF3Jyk8bzpwPjwvbzpwPjwvc3Bhbj0KPjwvcD4KPHAgY2xhc3M9M0QiTXNvTm9y bWFsIiBzdHlsZT0zRCJtYXJnaW4tbGVmdDouNWluIj48c3BhbiBzdHlsZT0zRCJmb250LXNpemU6 PQoxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXMiPmRpc2tfcGFyYW1zLnNldF9pbnRlcmZhY2Uo J3ZpcnRpbycpPG86cD48L286cD49Cjwvc3Bhbj48L3A+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCIg c3R5bGU9M0QibWFyZ2luLWxlZnQ6LjVpbiI+PHNwYW4gc3R5bGU9M0QiZm9udC1zaXplOj0KMTAu MHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzIj5kaXNrX3BhcmFtcy5zZXRfYWxpYXMoZGlza19uYW1l KTxvOnA+PC9vOnA+PC9zPQpwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29Ob3JtYWwiIHN0eWxlPTNE Im1hcmdpbi1sZWZ0Oi41aW4iPjxzcGFuIHN0eWxlPTNEImZvbnQtc2l6ZTo9CjEwLjBwdDtmb250 LWZhbWlseTpDb25zb2xhcyI+ZGlza19wYXJhbXMuc2V0X2FjdGl2ZShUcnVlKTxvOnA+PC9vOnA+ PC9zcGFuPj0KPC9wPgo8cCBjbGFzcz0zRCJNc29Ob3JtYWwiIHN0eWxlPTNEIm1hcmdpbi1sZWZ0 Oi41aW4iPjxzcGFuIHN0eWxlPTNEImZvbnQtc2l6ZTo9CjEwLjBwdDtmb250LWZhbWlseTpDb25z b2xhcyI+ZGlza19wYXJhbXMuc2V0X2x1bl9zdG9yYWdlKHN0b3JhZ2VfcGFyYW1zKTxvOj0KcD48 L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0zRCJNc29Ob3JtYWwiIHN0eWxlPTNEIm1hcmdpbi1s ZWZ0Oi41aW4iPjxzcGFuIHN0eWxlPTNEImZvbnQtc2l6ZTo9CjEwLjBwdDtmb250LWZhbWlseTpD b25zb2xhcyI+ZGlzayA9M0QgYXBpLmRpc2tzLmFkZChkaXNrX3BhcmFtcyk8bzpwPjwvbzpwPj0K PC9zcGFuPjwvcD4KPHAgY2xhc3M9M0QiTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0zRCJmb250LXNp emU6MTAuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzPQoiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFu PjwvcD4KPHAgY2xhc3M9M0QiTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0zRCJmb250LXNpemU6MTAu MHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzPQoiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4K PHAgY2xhc3M9M0QiTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0zRCJmb250LXNpemU6MTAuMHB0O2Zv bnQtZmFtaWx5OkNvbnNvbGFzPQoiPlsxXSA8YSBocmVmPTNEImh0dHBzOi8vYnVnemlsbGEucmVk aGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9M0QxMDk2MjE3Ij4KaHR0cHM6Ly9idWd6aWxsYS5yZWRo YXQuY29tL3Nob3dfYnVnLmNnaT9pZD0zRDEwOTYyMTc8L2E+PG86cD48L286cD48L3NwYW4+PQo8 L3A+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCI+PHNwYW4gc3R5bGU9M0QiZm9udC1zaXplOjEwLjBw dDtmb250LWZhbWlseTpDb25zb2xhcz0KIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+Cjxw IGNsYXNzPTNEIk1zb05vcm1hbCI+PHNwYW4gc3R5bGU9M0QiZm9udC1zaXplOjEwLjBwdDtmb250 LWZhbWlseTpDb25zb2xhcz0KIj5UaGFua3MsPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFz cz0zRCJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPTNEImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p bHk6Q29uc29sYXM9CiI+UnlhbjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPC9kaXY+CjwvYm9keT4K PC9odG1sPgoKLS1fMDAwX2EwZDYyOTdiZGMzMjQ1YmE5YjllZGQ4NjQ4MGQxOWI5Q0QxMDAxTTIx Y29ycGFkc18tLQo= --===============0303109898821176941==--