From do-not-reply at jboss.com Thu Aug 8 08:15:16 2013 Content-Type: multipart/mixed; boundary="===============6582427372676577222==" MIME-Version: 1.0 From: Hans-Michael Rupp To: jboss-dev-forums at lists.jboss.org Subject: [jboss-dev-forums] [JBoss AS 7 Development] - CDI vs. ManagedBean Date: Thu, 08 Aug 2013 08:15:15 -0400 Message-ID: <2-831931-3-22734-1375964108896.jivesbs.jivemailuser@https://community.jboss.org> --===============6582427372676577222== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hans-Michael Rupp [https://community.jboss.org/people/MarcusDidiusFalco] cr= eated the discussion "CDI vs. ManagedBean" To view the discussion, visit: https://community.jboss.org/message/831931#8= 31931 -------------------------------------------------------------- JBoss EAP 6.1 I have the following JSF =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0

JSF example on JBoss 7

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 Key =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 Value =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0
And a bean: package com.packtpub.chapter4.bean; import java.util.ArrayList; import java.util.List; import javax.ejb.EJB; import javax.faces.bean.ManagedBean; import javax.faces.event.ActionEvent; import javax.inject.Named; import com.packtpub.chapter4.ejb.CacheBean; import com.packtpub.chapter4.entity.Property; @Named("manager") //@ManagedBean(name=3D"manager") public class PropertyManager { =C2=A0=C2=A0=C2=A0 List cacheList =3D new ArrayList(); =C2=A0=C2=A0=C2=A0 @EJB =C2=A0=C2=A0=C2=A0 CacheBean cacheBean; =C2=A0=C2=A0=C2=A0 private String key; =C2=A0=C2=A0=C2=A0 private String value; =C2=A0=C2=A0=C2=A0 //Getters and setters omitted =C2=A0=C2=A0=C2=A0 public void save(ActionEvent e) { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cacheBean.put(this.key, this.val= ue); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 System.out.println("Saved " + ke= y + ":" + value); =C2=A0=C2=A0=C2=A0 } =C2=A0=C2=A0=C2=A0 public void clear(ActionEvent e) { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 System.out.println("Called clear= "); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cacheBean.delete(); =C2=A0=C2=A0=C2=A0 } =C2=A0=C2=A0=C2=A0 public List getCacheList() { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return cacheBean.getCache(); =C2=A0=C2=A0=C2=A0 } } It works as ManagedBean. When I change it to a CDI Bean the key and value p= roperties are not set on the bean: 14:05:58,818 INFO=C2=A0 [stdout] (http-localhost/127.0.0.1:8080-1) Saved nu= ll:null I do have a beans.xml: -------------------------------------------------------------- Reply to this message by going to Community [https://community.jboss.org/message/831931#831931] Start a new discussion in JBoss AS 7 Development at Community [https://community.jboss.org/choose-container!input.jspa?contentType=3D1&co= ntainerType=3D14&container=3D2225] --===============6582427372676577222== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPGh0bWw+Cjxib2R5IGxpbms9IiMzNTU0OTEiIGFsaW5rPSIjNDI2MmExIiB2bGluaz0i IzM1NTQ5MSIgc3R5bGU9ImJhY2tncm91bmQ6ICNlMmUyZTI7IG1hcmdpbjogMDsgcGFkZGluZzog MjBweDsiPgoKPGRpdj4KCTx0YWJsZSBjZWxscGFkZGluZz0iMCIgYmdjb2xvcj0iI0ZGRkZGRiIg Ym9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkICNkYWRh ZGE7IG1hcmdpbi1ib3R0b206IDMwcHg7IHdpZHRoOiAxMDAlOyAtbW96LWJvcmRlci1yYWRpdXM6 IDZweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7Ij4KCQk8dGJvZHk+CgkJCTx0cj4KCgkJ CQk8dGQ+CgoJCQkJCTx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMCIgYmdjb2xvcj0iI0ZGRkZGRiIgc3R5bGU9ImJvcmRlcjogc29saWQgMnB4ICNjY2M7IGJh Y2tncm91bmQ6ICNkYWRhZGE7IHdpZHRoOiAxMDAlOyAtbW96LWJvcmRlci1yYWRpdXM6IDZweDsg LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7Ij4KCQkJCQkJPHRib2R5PgoJCQkJCQkJPHRyPgoJ CQkJCQkJCTx0ZCBiZ2NvbG9yPSIjMDAwMDAwIiB2YWxpZ249Im1pZGRsZSIgaGVpZ2h0PSI1OHB4 IiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IHBhZGRpbmc6IDIwcHg7IC1t b3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiAzcHg7IC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdo dDogM3B4OyAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7IC13ZWJraXQtYm9y ZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4OyI+CgkJCQkJCQkJCTxoMSBzdHlsZT0iY29sb3I6ICMz MzMzMzM7IGZvbnQ6IGJvbGQgMjJweCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBtYXJn aW46IDA7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7Ij4KCQkJCQkJCQkJPCEtLSBUbyBoYXZl IGEgaGVhZGVyIGltYWdlL2xvZ28gcmVwbGFjZSB0aGUgbmFtZSBiZWxvdyB3aXRoIHlvdXIgaW1n IHRhZyAtLT4KCQkJCQkJCQkJPCEtLSBFbWFpbCBjbGllbnRzIHdpbGwgcmVuZGVyIHRoZSBpbWFn ZXMgd2hlbiB0aGUgbWVzc2FnZSBpcyByZWFkIHNvIGFueSBpbWFnZSAtLT4KCQkJCQkJCQkJPCEt LSBtdXN0IGJlIG1hZGUgYXZhaWxhYmxlIG9uIGEgcHVibGljIHNlcnZlciwgc28gdGhhdCBhbGwg cmVjaXBpZW50cyBjYW4gbG9hZCB0aGUgaW1hZ2UuIC0tPgoJCQkJCQkJCQk8YSBocmVmPSJodHRw czovL2NvbW11bml0eS5qYm9zcy5vcmcvaW5kZXguanNwYSIgc3R5bGU9InRleHQtZGVjb3JhdGlv bjogbm9uZTsgY29sb3I6ICNFMUUxRTEiPkpCb3NzIENvbW11bml0eTwvYT48L2gxPgoJCQkJCQkJ CTwvdGQ+CgoJCQkJCQkJPC90cj4KCQkJCQkJCTx0cj4KCQkJCQkJCQk8dGQgYmdjb2xvcj0iI0ZG RkZGRiIgc3R5bGU9ImZvbnQ6IG5vcm1hbCAxMnB4IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2Vy aWY7IGNvbG9yOiMzMzMzMzM7IHBhZGRpbmc6IDIwcHg7ICAtbW96LWJvcmRlci1yYWRpdXMtYm90 dG9tbGVmdDogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDRweDsgLXdlYmtp dC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20t bGVmdC1yYWRpdXM6IDVweDsiPjxoMyBzdHlsZT0ibWFyZ2luOiAxMHB4IDAgNXB4OyBmb250LXNp emU6IDE3cHg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4KICAgIENESSB2cy4gTWFuYWdlZEJlYW4K PC9oMz4KPHNwYW4gc3R5bGU9Im1hcmdpbi1ib3R0b206IDEwcHg7Ij4KICAgIGNyZWF0ZWQgYnkg PGEgaHJlZj0iaHR0cHM6Ly9jb21tdW5pdHkuamJvc3Mub3JnL3Blb3BsZS9NYXJjdXNEaWRpdXNG YWxjbyI+SGFucy1NaWNoYWVsIFJ1cHA8L2E+IGluIDxpPkpCb3NzIEFTIDcgRGV2ZWxvcG1lbnQ8 L2k+IC0gPGEgaHJlZj0iaHR0cHM6Ly9jb21tdW5pdHkuamJvc3Mub3JnL21lc3NhZ2UvODMxOTMx IzgzMTkzMSI+VmlldyB0aGUgZnVsbCBkaXNjdXNzaW9uPC9hPgo8L3NwYW4+CjxociBzdHlsZT0i bWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogbm9uZTsgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTsg aGVpZ2h0OiAxcHg7Ij4KCjxkaXYgY2xhc3M9ImppdmUtcmVuZGVyZWQtY29udGVudCI+PHA+SkJv c3MgRUFQIDYuMTwvcD48cD5JIGhhdmUgdGhlIGZvbGxvd2luZyBKU0Y8L3A+PHAgc3R5bGU9Im1p bi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD48 c3Bhbj4mbHQ7IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFu c2l0aW9uYWwvL0VOIiAiPC9zcGFuPjxhIGNsYXNzPSJqaXZlLWxpbmstZXh0ZXJuYWwtc21hbGwi IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25h bC5kdGQiIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LnczLm9yZy9U Ui94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkPC9hPjxzcGFuPiImZ3Q7PC9zcGFu PjwvcD48cD48c3Bhbj4mbHQ7aHRtbCB4bWxucz0iPC9zcGFuPjxhIGNsYXNzPSJqaXZlLWxpbmst ZXh0ZXJuYWwtc21hbGwiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHJlbD0i bm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sPC9h PjxzcGFuPiI8L3NwYW4+PC9wPjxwPjxzcGFuPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyB4bWxuczpoPSI8L3NwYW4+PGEgY2xhc3M9ImppdmUtbGluay1leHRlcm5hbC1zbWFsbCIgaHJl Zj0iaHR0cDovL2phdmEuc3VuLmNvbS9qc2YvaHRtbCIgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9qYXZhLnN1bi5jb20vanNmL2h0bWw8L2E+PHNwYW4+Ijwvc3Bhbj48L3A+ PHA+PHNwYW4+JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IHhtbG5zOmY9Ijwvc3Bhbj48 YSBjbGFzcz0iaml2ZS1saW5rLWV4dGVybmFsLXNtYWxsIiBocmVmPSJodHRwOi8vamF2YS5zdW4u Y29tL2pzZi9jb3JlIiByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2phdmEu c3VuLmNvbS9qc2YvY29yZTwvYT48c3Bhbj4iPC9zcGFuPjwvcD48cD48c3Bhbj4mIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsgeG1sbnM6dWk9Ijwvc3Bhbj48YSBjbGFzcz0iaml2ZS1saW5r LWV4dGVybmFsLXNtYWxsIiBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL2pzZi9mYWNlbGV0cyIg cmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9qYXZhLnN1bi5jb20vanNmL2Zh Y2VsZXRzPC9hPjxzcGFuPiImZ3Q7PC9zcGFuPjwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0 OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPiYjMTYwOyYjMTYwOyYj MTYwOyAmbHQ7aDpoZWFkJmd0OzwvcD48cD4mIzE2MDsmIzE2MDsmIzE2MDsgJmx0Oy9oOmhlYWQm Z3Q7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyAmbHQ7aDpib2R5Jmd0OzwvcD48cD4mIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgJmx0O2gyJmd0O0pTRiBleGFtcGxl IG9uIEpCb3NzIDcmbHQ7L2gyJmd0OzwvcD48cD4mIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsgJmx0O2g6Zm9ybSBpZD0ianNmZXhhbXBsZSImZ3Q7PC9wPjxwPiYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyAmbHQ7aDpwYW5lbEdyaWQgY29s dW1ucz0iMiImZ3Q7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyAmbHQ7 aDpvdXRwdXRUZXh0IHZhbHVlPSJFbnRlciBrZXk6IiAvJmd0OzwvcD48cD4mIzE2MDsmIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsgJmx0O2g6aW5wdXRUZXh0IHZhbHVlPSIje21hbmFnZXIua2V5 fSIgLyZndDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7ICZsdDtoOm91 dHB1dFRleHQgdmFsdWU9IkVudGVyIHZhbHVlOiIgLyZndDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7JiMxNjA7JiMxNjA7ICZsdDtoOmlucHV0VGV4dCB2YWx1ZT0iI3ttYW5hZ2VyLnZhbHVl fSIgLyZndDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7ICZsdDtoOmNv bW1hbmRCdXR0b24gYWN0aW9uTGlzdGVuZXI9IiN7bWFuYWdlci5zYXZlfSIgdmFsdWU9IlNhdmUi IC8mZ3Q7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyAmbHQ7aDpjb21t YW5kQnV0dG9uIGFjdGlvbkxpc3RlbmVyPSIje21hbmFnZXIuY2xlYXJ9IiB2YWx1ZT0iQ2xlYXIg Q2FjaCIgLyZndDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7ICZsdDto Om1lc3NhZ2VzIC8mZ3Q7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyYjMTYwOyAmbHQ7L2g6cGFuZWxHcmlkJmd0OzwvcD48cD4mIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzE2MDsgJmx0Oy9oOmZvcm0mZ3Q7PC9wPjxwPiYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyAmbHQ7aDpkYXRhVGFibGUgdmFsdWU9IiN7bWFu YWdlci5jYWNoZUxpc3R9IiB2YXI9Iml0ZW0iJmd0OzwvcD48cD4mIzE2MDsmIzE2MDsmIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgJmx0O2g6Y29s dW1uJmd0OzwvcD48cD4mIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgJmx0O2Y6ZmFj ZXQgbmFtZT0iaGVhZGVyIiZndDtLZXkmbHQ7L2Y6ZmFjZXQmZ3Q7PC9wPjxwPiYjMTYwOyYjMTYw OyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyAmbHQ7aDpvdXRwdXRUZXh0IHZhbHVlPSIje2l0ZW0ua2V5 fSIgLyZndDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7ICZsdDsvaDpjb2x1bW4mZ3Q7PC9wPjxwPiYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyAmbHQ7aDpjb2x1bW4mZ3Q7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYw OyAmbHQ7ZjpmYWNldCBuYW1lPSJoZWFkZXIiJmd0O1ZhbHVlJmx0Oy9mOmZhY2V0Jmd0OzwvcD48 cD4mIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsgJmx0O2g6b3V0cHV0VGV4dCB2YWx1 ZT0iI3tpdGVtLnZhbHVlfSIgLyZndDs8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7ICZsdDsvaDpjb2x1bW4mZ3Q7 PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyAmbHQ7L2g6 ZGF0YVRhYmxlJmd0OzwvcD48cD4mIzE2MDsmIzE2MDsmIzE2MDsgJmx0Oy9oOmJvZHkmZ3Q7PC9w PjxwPiZsdDsvaHRtbCZndDs8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVpZ2h0OiA4 cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD5BbmQgYSBiZWFuOjwvcD48cD5wYWNrYWdl IGNvbS5wYWNrdHB1Yi5jaGFwdGVyNC5iZWFuOzwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0 OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPmltcG9ydCBqYXZhLnV0 aWwuQXJyYXlMaXN0OzwvcD48cD5pbXBvcnQgamF2YS51dGlsLkxpc3Q7PC9wPjxwIHN0eWxlPSJt aW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+ aW1wb3J0IGphdmF4LmVqYi5FSkI7PC9wPjxwPmltcG9ydCBqYXZheC5mYWNlcy5iZWFuLk1hbmFn ZWRCZWFuOzwvcD48cD5pbXBvcnQgamF2YXguZmFjZXMuZXZlbnQuQWN0aW9uRXZlbnQ7PC9wPjxw PmltcG9ydCBqYXZheC5pbmplY3QuTmFtZWQ7PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7 IGhlaWdodDogOHB0OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+aW1wb3J0IGNvbS5wYWNr dHB1Yi5jaGFwdGVyNC5lamIuQ2FjaGVCZWFuOzwvcD48cD5pbXBvcnQgY29tLnBhY2t0cHViLmNo YXB0ZXI0LmVudGl0eS5Qcm9wZXJ0eTs8L3A+PHAgc3R5bGU9Im1pbi1oZWlnaHQ6IDhwdDsgaGVp Z2h0OiA4cHQ7IHBhZGRpbmc6IDBweDsiPiYjMTYwOzwvcD48cD5ATmFtZWQoIm1hbmFnZXIiKTwv cD48cD4vL0BNYW5hZ2VkQmVhbihuYW1lPSJtYW5hZ2VyIik8L3A+PHA+cHVibGljIGNsYXNzIFBy b3BlcnR5TWFuYWdlciB7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyA8L3A+PHA+JiMxNjA7JiMx NjA7JiMxNjA7IExpc3QmbHQ7UHJvcGVydHkmZ3Q7IGNhY2hlTGlzdCA9IG5ldyBBcnJheUxpc3Qm bHQ7UHJvcGVydHkmZ3Q7KCk7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyA8L3A+PHA+JiMxNjA7 JiMxNjA7JiMxNjA7IEBFSkI8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7IENhY2hlQmVhbiBjYWNo ZUJlYW47PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyA8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7 IHByaXZhdGUgU3RyaW5nIGtleTs8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7IHByaXZhdGUgU3Ry aW5nIHZhbHVlOzwvcD48cD4mIzE2MDsmIzE2MDsmIzE2MDsgPC9wPjxwPiYjMTYwOyYjMTYwOyYj MTYwOyAvL0dldHRlcnMgYW5kIHNldHRlcnMgb21pdHRlZDwvcD48cD4mIzE2MDsgPC9wPjxwPiYj MTYwOyYjMTYwOyYjMTYwOyA8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7IHB1YmxpYyB2b2lkIHNh dmUoQWN0aW9uRXZlbnQgZSkgezwvcD48cD4mIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsm IzE2MDsmIzE2MDsgY2FjaGVCZWFuLnB1dCh0aGlzLmtleSwgdGhpcy52YWx1ZSk7PC9wPjxwPiYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyBTeXN0ZW0ub3V0LnByaW50 bG4oIlNhdmVkICIgKyBrZXkgKyAiOiIgKyB2YWx1ZSk7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYw OyB9PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyA8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7IHB1 YmxpYyB2b2lkIGNsZWFyKEFjdGlvbkV2ZW50IGUpIHs8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7 JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7IFN5c3RlbS5vdXQucHJpbnRsbigiQ2FsbGVkIGNsZWFy Iik7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyBjYWNo ZUJlYW4uZGVsZXRlKCk7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyB9PC9wPjxwPiYjMTYwOyYj MTYwOyYjMTYwOyA8L3A+PHA+JiMxNjA7JiMxNjA7JiMxNjA7IHB1YmxpYyBMaXN0Jmx0O1Byb3Bl cnR5Jmd0OyBnZXRDYWNoZUxpc3QoKSB7PC9wPjxwPiYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyByZXR1cm4gY2FjaGVCZWFuLmdldENhY2hlKCk7PC9wPjxwPiYjMTYw OyYjMTYwOyYjMTYwOyB9PC9wPjxwIHN0eWxlPSJtaW4taGVpZ2h0OiA4cHQ7IGhlaWdodDogOHB0 OyBwYWRkaW5nOiAwcHg7Ij4mIzE2MDs8L3A+PHA+fTwvcD48cCBzdHlsZT0ibWluLWhlaWdodDog OHB0OyBoZWlnaHQ6IDhwdDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPkl0IHdvcmtzIGFz IE1hbmFnZWRCZWFuLiBXaGVuIEkgY2hhbmdlIGl0IHRvIGEgQ0RJIEJlYW4gdGhlIGtleSBhbmQg dmFsdWUgcHJvcGVydGllcyBhcmUgbm90IHNldCBvbiB0aGUgYmVhbjo8L3A+PHA+MTQ6MDU6NTgs ODE4IElORk8mIzE2MDsgW3N0ZG91dF0gKGh0dHAtbG9jYWxob3N0LzEyNy4wLjAuMTo4MDgwLTEp IFNhdmVkIG51bGw6bnVsbDwvcD48cCBzdHlsZT0ibWluLWhlaWdodDogOHB0OyBoZWlnaHQ6IDhw dDsgcGFkZGluZzogMHB4OyI+JiMxNjA7PC9wPjxwPkkgZG8gaGF2ZSBhIGJlYW5zLnhtbDo8L3A+ PHA+Jmx0Oz94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPyZndDs8L3A+PHA+PHNw YW4+Jmx0O2JlYW5zIHhtbG5zPSI8L3NwYW4+PGEgY2xhc3M9ImppdmUtbGluay1leHRlcm5hbC1z bWFsbCIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS94bWwvbnMvamF2YWVlIiByZWw9Im5vZm9s bG93IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2phdmEuc3VuLmNvbS94bWwvbnMvamF2YWVlPC9h PjxzcGFuPiIgeG1sbnM6eHNpPSI8L3NwYW4+PGEgY2xhc3M9ImppdmUtbGluay1leHRlcm5hbC1z bWFsbCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHJl bD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNj aGVtYS1pbnN0YW5jZTwvYT48c3Bhbj4iPC9zcGFuPjwvcD48cD48c3Bhbj4mIzE2MDsmIzE2MDsm IzE2MDsgeHNpOnNjaGVtYUxvY2F0aW9uPSI8L3NwYW4+PGEgY2xhc3M9ImppdmUtbGluay1leHRl cm5hbC1zbWFsbCIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS94bWwvbnMvamF2YWVlIiByZWw9 Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2phdmEuc3VuLmNvbS94bWwvbnMvamF2 YWVlPC9hPjxzcGFuPiA8L3NwYW4+PGEgY2xhc3M9ImppdmUtbGluay1leHRlcm5hbC1zbWFsbCIg aHJlZj0iaHR0cDovL2RvY3MuamJvc3Mub3JnL2NkaS9iZWFuc18xXzAueHNkIiB0YXJnZXQ9Il9i bGFuayI+aHR0cDovL2RvY3MuamJvc3Mub3JnL2NkaS9iZWFuc18xXzAueHNkPC9hPjxzcGFuPiIm Z3Q7PC9zcGFuPjwvcD48cD4mIzE2MDsmIzE2MDsmIzE2MDsgPC9wPjxwPiZsdDsvYmVhbnMmZ3Q7 PC9wPjwvZGl2PgoKPGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDsgcGFkZGlu ZzogMTBweDsgbWFyZ2luLXRvcDogMjBweDsiPgogICAgPHAgc3R5bGU9Im1hcmdpbjogMDsiPlJl cGx5IHRvIHRoaXMgbWVzc2FnZSBieSA8YSBocmVmPSJodHRwczovL2NvbW11bml0eS5qYm9zcy5v cmcvbWVzc2FnZS84MzE5MzEjODMxOTMxIj5nb2luZyB0byBDb21tdW5pdHk8L2E+PC9wPgoJPHAg c3R5bGU9Im1hcmdpbjogMDsiPlN0YXJ0IGEgbmV3IGRpc2N1c3Npb24gaW4gSkJvc3MgQVMgNyBE ZXZlbG9wbWVudCBhdCA8YSBocmVmPSJodHRwczovL2NvbW11bml0eS5qYm9zcy5vcmcvY2hvb3Nl LWNvbnRhaW5lciFpbnB1dC5qc3BhP2NvbnRlbnRUeXBlPTEmY29udGFpbmVyVHlwZT0xNCZjb250 YWluZXI9MjIyNSI+Q29tbXVuaXR5PC9hPjwvcD4KPC9kaXY+PC90ZD4KICAgICAgICAgICAgICAg ICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAg ICAgPC90YWJsZT4KCgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAg ICAgICA8L3Rib2R5PgogICAgPC90YWJsZT4KCjwvZGl2PgoKPC9ib2R5Pgo8L2h0bWw+ --===============6582427372676577222==--