From acdb5849078646dba658e05d999c23d0ec15bfb5 Mon Sep 17 00:00:00 2001
From: larryng-rapyuta <81980129+larryng-rapyuta@users.noreply.github.com>
Date: Tue, 16 Nov 2021 17:47:10 +0800
Subject: [PATCH] Amr spawn with params (#21)

* added actors spawning with ROS2 param

* added actors spawning with ROS2 param

* removed an uneeded file for ROS2 params, ROS2SpawnableActor

* fixed spawned robots pick drop crash

* added copyright to ROS2Spawnable, removed emptiness check since doesnt seem useful at the moment

* changed box back to using BP_AMRPayload

* changed SetActorLabel to editor only and added use of Rename

Co-authored-by: larryng-rapyuta <lng@rapyuta-robotics.com>
---
 Content/Tools/ROS2GameMode.uasset             | Bin 90973 -> 97987 bytes
 .../Private/Tools/ROS2Spawnable.cpp           |  33 ++++++++++++++
 .../Private/Tools/SimulationState.cpp         |  35 ++++++++++-----
 .../Public/Tools/ROS2Spawnable.h              |  42 ++++++++++++++++++
 4 files changed, 100 insertions(+), 10 deletions(-)
 create mode 100644 Source/RapyutaSimulationPlugins/Private/Tools/ROS2Spawnable.cpp
 create mode 100644 Source/RapyutaSimulationPlugins/Public/Tools/ROS2Spawnable.h

diff --git a/Content/Tools/ROS2GameMode.uasset b/Content/Tools/ROS2GameMode.uasset
index ab1e5aad17dc78f36ceee4b87ec346c7b334f0d2..6b993d791f65b10b8de4cdcb5b028b2025f25707 100644
GIT binary patch
literal 97987
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

literal 90973
zcmeHw2Y?hs_IHmG6h$#%mRS@*McAAS$4-KU-DP0`6(tP2z3kxb%rY|zt`R*0ia8$`
z!GsY3G2#h^!-xS4XIAvo)6+AaipTeURrRKOdU|GilY0NphMDeu^{QU1SFfsTde{8<
z;Ol<evSrKktu?LBR+>0^)A!pgA00F}u;jftFZa9lv$uxszZ1a@Uo*An=TVz_eRZaG
z->I_?KClPD&fa6+>1U3uyYrn_`rrQQ-#+U*oL~btPPpdLu?OB3=$&=>i)XA19zw89
zxvwwlJNDcG_n*4{&c&mDDeObAKgBn%pXXcVeRtPOE{nPM-F*<jzGzss=~K_;-){H!
zoW*4i2ZjwHSf9UXT2DGxMZ!9rdT5`}_Zcot%c65pfiI8~DD?S@yq<iIx2QNbFE6jG
zuq?Z*%wG`5%OMnb97Lxr`)OJ+od@i$X}1!q)P}YoSJN(|&pq@h^PDy(YecyGoY)?B
zei~kI#9hnJA2isvzV*3X|Ml?VisF9(AMJnvC&xhF!dBpIo2O~V)S|X=kkYq6vO@_p
ze0;FEwIv>`2{pAe2IHYfxVo`rW+)sRJ|Plmj13<@wkCIEut~3s)ahEwqGNrf?W{B`
zsfDG_-GAf0XdznLIMF}cQ#}pE-o{An@zpIe8bh%LJ*r(iZR`=GCT)04Z8X#zAMR;v
z(VL^8aC~Gm*xaCf`sT^LT}{Q_NK~IVcE&8dHm?1r{LmwJG?n?oB#W+{J>sl#n2cLY
zC$zRkU-8TiCPcxe_TvSAX@nbc^@-uA9&Gg2X+wKlwM{Q7D65S}qS~SB_djMkzN-k%
z&>OW|caKi%3s7C1H`3HhZWNAd?=3p1RRIm5C&j0a-$h`~35IL+y6RBa7m77E23xgL
zcmJ~YwkT?BtRgeSv@N^+!vikMqS0V$bu`kfN8_zp`LYi~kbMT>MdteSMjhtVw)}gC
zf9?h_G0;ThJuNe4H0soRSg+G&4;xg`Kc#R|C>A0dZQKEeAC9h(Tve4$D-Zkhcrer$
zs}6=q)Scp`v-<(rr`PMzs9qNcg~^^;c+taqLiZk>Ou=PBVKvRcx#2)G(&TLn#$wt9
z7wq!W_Gq9yR^1ZS11;fN?e!<dp0zh%75dCzZEKaT*G-5}=}f)mc)fAFULVsgy6d>Z
z(5Dk#qU~Ce*LM#yWTYO}qrtddCkY+2sQFN+FHvJ;OQ=p;-+Ql#dzzu;;kX_R2OB5G
z^s(W_R_*NfZWsr*OjN6Bjm7n*NqRH}J)a)m_K>7jC$u)}+V(qL`tHtDX+~u*+!Aao
zi^qet4KRbY;MLW~Beu+-ex?oEuI@9qgokbt2JP2l*?FSw*g2%oP@PbTuxY>VFFsaC
zXxD$HdA0rj^3Ft<)l)qw7!3u<mOecuIukfOZMOrrm$kXHk__n!#)JNFJld+gd}Z@I
zFf*e@Z>;x5NDU{%wHfc9d@uUIjGBhX+{#ExO!u}#W90R*p}p6lJI)}#APGY!>V~J^
zaZcgig^aCnUHj~Viyjj)(oI6fkE;%SY#`P41{)h;@oDCsGHtvbZ;6H{1t|b%)i*X=
zRA|O*%b}8L|K+w<CnA0(=t%DrE*J{W6#kf0VeW>~sYw+^>hWsojd~OsiAEY5^=MLs
zqd#77>HcO4mBHin3DICURv(ErC7}+Q_v27>XfOHX%m``xhf^<q5~^W96-8X_!os7s
zM~7lyO(Ys8R<&Js+V2Gfom$ar;&Wqba3@_mKKF!6_QD<UN1Zql9u*ANHBv2hA??;#
zx8AUgz!1?uduGo^u1C~J7)>^m^WX0$!uJy333?L+BQoQL+Xt>iKS?QJPnmkzhSBJ=
zDF~3NJY1)rpw;!=?PdhK6qJ}&Hf!~GbZ76_D&I6Q?ymeH_aJZ#2OXogYJLCOax5@#
zFI~g`$;sCX481<s(iqoH-x4_z?oZJM_tU2F2<8dKbnTFHJ{brBl1dS1YvMEj*2c6Y
z7aqJ8{Ud>39>S=1EgSxGGrEE*7o!pav$pbskLQ>QYHBI&jE_X(+9T&**OL+eu8}C1
zHqu`;ZBp6z@-k0_U%UI%Ge;p(t9BDuqV3Y^)gQq{RG}2S-&5b_!IA1H*w2J<e)xIe
zMG~u##&o?l60VDBYbTtvH3F*|PlR)wc*VyasLWp{2h|>tl~d4*)jdc~BkPDrweZee
zOW`7_jD`*o+TNXeu^-YZa7}H4-V~fRCRcl4&DDKjU4LDOVy-Vz+k$4w!}SsE;c5MT
zmUU1h2kq)$yg_@R?D~14PDQAm#;qm_B4MhIaP>%!x^<ArA4VXngOzk`&7i8c;h%nR
zT2_}BGh>>5`u17q0x2b>rK3W1b$VEPZRO0hiMmOxo;~8tZ}#E3=91D<Ql22M-FwG>
zH(-<(v9dZsX^D2v(cA5hFy{}qG-;C_KPw{HZD~q`xpA*uI|4rIk47U=p}qLN**^(Q
zn1ZZO(F>>S`4+}YzonqGv?>xe!L+;{@yif!{33{n2$s_ADX=$0>a_mvJ@*<sz(0o!
z;g%Nv_{RbF2sr?gpeZ-IrU*j=M1!jy)hQLxZe9HT9S~1HL9f+L{%rGJa2(vUkRd`>
zZMq$<?U(lxXXw$HNYg}O$Nf%w=U<a%!M$vvuJ&o}VecS<)i*|hac$SuYoEg~8o*sb
ze?Q;)&M#1EAR5vsptTAg-ulUBwuAR$+z_4;{rbUk!9N3pR58tW(2yfwZw4EZ-8^~o
zZjcOoYGVd{{2FL5(;`?bUUQL#APk^6M%?gx!witJq!wpybMyqrX){=8vo5`RBYZ$`
zB~p&XXFNMckVpREt^TP2Es~S!D&&VK*Xuv#lgEHl9uCE|IgcDZ4-%J$n_J@454DGX
znzRB&EDy)xA&LMr9&aC5un_YjIOc|(SMG+0!l?|8_d<O~Z0Yk0oPr7ydcOIU!qMP=
zOs<Fk=D}E7`^@tTO=Uci3eEp;)lJVqcdDN7Gc9)3<h>DS87Mr2dUTCGyG1zGT{o}F
z0ecF8?IU`Yw&<0f2ZKFTI3`SS^u@D0JutK=nBn+F7Wqq$+b=;NQ79}i8AL0LUV6Dr
zQ4JMEU)ae57a0?ZHR<t6ibxfq8POmO&5g@;>;b7Og0XmVK#OVH@3+;9@YSS|UfX>C
z*WZEh%3yOsuLYN%emd+_sW(vv5yt<1{OsNaNLb|j0V`HPixR6kNZl{4o%-o1hr<IU
z(D2<;S3USA_yXr{+NOCcFB9CTWKPTuwDI*jzXqXc0@u>0kJmBDo1=@E+dObV5Dr;M
zV`QiT^Q7Bm{^?CPTR2Glp=4kGVsHc25`vuZ^){nX2f$c!kfKBH341*+(Db>i?3i}b
zE&pEO2HIGkA1R&fMDNgC?W>KUL!c{o8xJ?r519511OrTH>ZLn-+yPAiFiH>2Y=~=j
z*4*<w<5WjtM{7?WJAW$^;213$_(DfiL8X}X;C~l23byI)s8AgZIE~@ZKOm||F}~gU
z$-Y>7P_syV%oi@)M&zVYA9K|f^h`Be@qDZ7%@v=4t+6d}>W$OjVI%9B779!O!W2x5
z%G)<xS_$eB6aDt7zHjXd?#9lgnTdAY;B8tFQ>%lu#|LNXT5RO}-7rg5_Z5*^<kez!
zZs>jIc<X%lg+fZW!L>tg(xFo6J~Erz<L#S|g|O8$;nHfi{_<grJl1Sh%il0yPf=5(
zxiV8bchUUC$c4l}r$;A55a2}w3q;{06BZx75KhMq5@-z0jA?I1_FHa-!i+KPp}9TR
zK@G;F_s~=CJRGrVT%<<3<%px!g01m-txg^)vU{+ooqo!UXTX*!m=LNxUK=xR^9$&&
z?9YijTPuCw-EoL1<0)K+YK6{>R3h@%bIu1}R7itqsJ;~;N9(<4!=;jdG22)YA9x;k
zMfxUPX!q?$9tA%)CxhB|H~i;E7~Bk`3~}LJb1#E80*u<)!JkezSP&+FA^tI?2Ysw+
z*XYqXp;}!a5B%=*W8e<sBb4e;L_aU|;Onq-O>mB0Hz}mg9a~=?BX2u--RHgpd~zhx
zRMr$}p@=c9{{>H@S&={{QfzJ19(B_Y2?TgTLrc?)FwNdY&N1-QUMu17GKbT)JiK5o
zM3w6=HSuT*Ev<~%?acX*sm5DFc{$0H^UBLl!l`03OVp+<zF@TA#h5aRmRA>FdWztM
zW{sv%?c76u=z*bumYtd#k?X|-5eyDunyT%3$auGCFR?Bq^S<?eUv@6Sv9Vqy;DVv?
zmtTIOpcSc)n^McuZhZ4b0mgEJ;V2a!{bLC{TMQxz@HBKbF{Djc<%-#q3!@+{ojLjG
zIdC*f{Tk}4y0+cYCD%ZqBo?M@2i`SiH+UGSk~@la*qZ183I*!DJnPD%1(!k*39M}G
zn$4hs>DM%=q-h*xwHuDvZUlM(&&?7m6PosHtO6F~5`+!yynk1YHUmW-ns<Be*%Eky
zkp?_b8owW=jW<xbeEPjF&x7wKyUg;6ycKX#EE7%$HEZ{M*85R(n1m*^ey0Z?heVc$
zv0vzlVlZuhIejbH^1(-3LFACt6bxh9Ui&Z36JSbI3iA`1nc93@Bm8k9IvE1U3A281
zV||9!YcNN*dQ|0#=^7X&?TJz4%$z60DhF#*0Pnc+)W3r{1{%ZdHw%1yRdu1v|DN0{
zN8JlOjvQRk2j-ka%aGJ(Z`r3u9k`RXxjt=TcH_1H%ndcx)dr(=+Sg-ZpQAe-6^S;|
z;-FY%QRC0b@he<VKMwQ~952(NEfz{}{6(H<Jz5@l>iiPnRI2MtI43y3X?1{eq63_h
z9N?Vn0Ou43IHx+mIn4piyf$!NBt6e`fOD<`oP}-RtS4IV8yx9u3LJzg9GP(TlqeZ-
zMmxYc-T_Xd1Dw+x;N0v0=N1Pzk2t`2%mL05ZQ#5>ws^7)oaYH=l>?mn+rW8_+8N^j
zXLTB!qZAzeb6guZ;Q8$|INTThO*qJiaajG(jB}SnNsIG2wSz$qN4j=^Q!7z2;)L74
z`6spW=QeOYBAjR&IGYFuLp+XjJOih#c0RPh;jw`G9qjcdNh(2$ak$?BXM_cZ$BP>k
z94GbUHPMb8&ejgv;d)lt&9s=uOgNYo;mCx8aTZ4=9E{C4tT=y_U=1<+L3N!8=XD1-
zo7%vEEpD^md_^z?5~r2w2L0zV#XKI;^5LQje9|2#qb8Hu1n!pv`@#gjPc?us<w0fq
zZ`UiJgHt*>X4+`>64lm0bmo3>*UJtFm{81ZGWcI6S-{IwRRERkrWEvGH_&;<M2F+o
z3$G}k!;_snADHApA3{8b7?5X#lINribkmN*DIM4ebdFMV9^TjvB7|y3=UbCJXn%%k
z5+uG<oqOlk6wu)*9i6uoEzn_`fX<PsT^Adz6Lfwt$piZ!cLojUZC^}y==f6?(AjLE
z(@O0k?t;!b6@ZWXgl^h#*y+uV4&(xz2rlS2;B$F)`t6hs;y>uTsN}iqE2k7Bo>Mw-
zGtil?<f;9(d*~pBf=+)mus!~t&eQqX;s=;xvA;b7N2lYBU*y^8x1HYX=%9JXbEMMS
z5<%H175jMblSLlP2U(ssl^?v{0}$tjojlk|#x1}cm{T&H`KtLxw&^^b|Cs1NO{bXX
z<SG03`g9K+w$B(vXYTghLx<x|t)jDbhwh;R{lVW@o<Tcx4;_v>Os9F5?xDkRhv_`b
z2?@#Q<goK=JAXs|3%#+w_1dF*<l*?Xweo|Ky*f|l2TT7smE=IHkVh;R()sXxx`z(;
zpR=)?NXM2#I#1_&i#(@MyWD@iP<lJ-u+G!@&O&D%(P6#qs`9Gnk=;Xw_4bt-=g#(Z
z4;|LqU?tC-(cMFb<IY)1o@=YShYrUBrZaF-=jnW7@&j@KZ3({UfQ^<bd2T({po1&p
z4w$J2HJKPYxm39>-)d#*Du>QZ>iU>qTP-K5iwiqCpO|QarcYJDyzxMF{ZtpwdEZ0_
zT(71N&WJlaKmEK5=={S(2QoZHAExs$UE}yq7ts0GL<f3%f<8=#*WBNk0f_U1noRKn
z_%P%^pMiU!j}E2}Xrc`FD2E=mr4J|$QfIV>?HYKHhex~n(g*7sm^MM@c&g;457zpy
zUk_{8d(sEnxAvhA>h4UR0rUYajC%v=g9m{7(Pw}9>`tG)^g&3^q7Uffu?ipH4}5?>
z@QiX?qdmaE3wQ!Q-~sd@D`0N=pd4_>4jkNrZ{`)apbs9IAHaYEeDDi-zz2AIg=m6L
z@B+O+KJWznfClaXhpwOl;G!Hdp$*6m+GrPapgZ8Y>BD^D3^?l=_`rp(&?fi<&w!x}
z_}~?7g9qq<bptr~2QJQlqa5;qFW3lWXqRmTI)H&Mz})l!Kj0sBgRUSyaBz*f;0I-Z
zx#`2c!u7HUhPI$X;6Q%x0G_!mmJ9R&!+|qC8;Eb*;{e|Ws`C&492{r^wl|)!f@AY@
zf9<MVsm=t7Wpfx<H&>vI0!ygM_fHX=4p2yGGnph>fY1pF;?bjkR8Kgj+D{MWqfNm^
z;VcOpW6KED6t*tMLwD@S)a%5~uzK3Z6GLHg<6@Ig3P<3<BG^O%CCDY04Q|g5Op<;p
zGR-?!IHh?X3k)oFv<&8-V#ptO3^VW98!Y^!O6_yP9xAyB#$jc2h^m$*-akUW#E=_)
zuo({~$`-Di5ZAo1o=Po+@)sQ9fiVivAq6vXn+)P*PHu62QDJ_*C@YU)Q?vNB0pe32
z*hu@85v>9t4@$Jh?%%RyYw}<GyN%*3&i9LN3B&iciTgd&)ktlY7SVKVG<|z%^q!;D
zYqPbOfVOB=v_==9PXj??RAYNpYaHD*6CR)~gj=u0+brEm)$J?~y;M76iLWqGc2T^R
z5*iTJ!%nKiMdo2G7+1S1*aVUwOp-TIi;$+7WX{qi&^7Ms>3S@|bU~|!s?%91xc)?H
zxtS<~?rds19lWQa%MxiWmWQS1nl6glvaEf!?W<~yBTgceYf0G~h`X3}B9*mO-rK^V
zz0S8$Sj}3kc06gcjwE-HA4`tAN``7v>po%ExbRSxAzeAsXD!>y&_{7wqg9ia<e9vK
zOSqkm+JftkCayiC{}@>VHb@8Gu8Z{tx;12-ne>U#Cqi~YPh<V1E9dx-S${hyZvBG7
z4AJviw4+Ey8Gj5qncHE{NAHXX{<!7L^>$YD+v@i&$|$5?W^Rv5?b<V<h>LQ!uJLk~
zdlGrMjLWGI=7~MVMdP=mUP1jkE+S_Od2gK-qBg>$dl%(Z5@VF`x7k$U7r3)U4?2<j
zTt?jKT0omiwIbAa4P0Y%urFn;8ys~mPQiQP#6QNW*&=?z3k=^$SH6pq(%^%8PwMz*
z*bF{q$ZCz+9KQ|{u>ih!Fj3hxg;K{P=E%yU5XM?N*lvoRv?5}cAtQ5Gkrc1EzZw>s
zp0Kiu@<G{>QJO_-=Od}VA|CKa$zE|PVe{C^zLpNxMRN(}(nWcZyq-ky)EE`)eGjs;
z7CnLsj8BJ&XoVOxOL(T2t{Uh%qK#9&>!Kt|Qn4#zNez85jrNV9Ov4y+SUU!NyE4v1
zxYrt*G+(h+%{DamMME>4m4nAI_P9}G^I4PuxoDmvwU}D6rz*)T!$5_VLw=N}6>23E
zV~VvL`j@8_&|Lvt`Luk>MT=?V%Oi-7u8IZBNBF=iq<a_5I3*{Ym6iK|ITjjL%Urs*
zBbhn!1xSNN3^CK2uEC}*n(cOtOdK6Xk@ufS(J@5r+QB&DXSNx8r@=cUnMDx*eQ&sF
zG?=dCYDHQrQQNPJB;gU*kOU*@i6mD&jb8P1ZH&^Ha0V!TGE2(&jafc}o{Lr=y2d{2
zRR+gC(q)s-r!kJ&mu5MVWVpgQh$7>WWR>BfkD;I8-=XA(c2KV^)MEq1_{M#?vptaO
zLkD4znIN+;vRx~De<d5&GvZ$RqBUnta>j#^B^7djqLtZixU`z$WDE5-d}mQ)s~3LS
zKzS49kuEhWHzeyQ=R6Xm&!F4JIM9(~9PjlMSq3|*&l;_#sDRm?OB<r<$)5CoH%s9>
zGkumakz#0_)=2tbEg6u59BG$(U>-%?0DX$6Z~MsaJYw_=&}dqumC_jMrL&KsfR{$r
zB03im2A~D>2@t+Z<g2g<d$Kw2;H=K2O;lV>q!9(Ph%Cym<jP2vy2rRcZ-k&c4iQ=>
z46GpGd;*m;(LY%S{R6X?EYbkxeG+>(Wodpf`)Ht&W}1J_r1Na584=Vl;-DU~ktWgV
zOu9B_qi72w(}@)ET-qUu-^^0+7$f^DR(-Jg18>EQLMO^DZK!IASC%vvYlSn}91&w(
z6kDZdXQs)c@l4{knJ6OO4O2Cp_YBTbCy<V2kcJ~<S7hcGm#34ppb2PpI$0m9TXGd7
zQ!Qlp1}^78=G;D0j@z>h|KVtox^lwfRc5Vmew3U6+etr?G=R~>ki|vIvra6-eaa(x
zN-^cBrSw6LiflE9`b-|R>LX3(5)?hmOV{}XEhgVZ?iwHn`c#f1dMs1A?8;6$BhSiJ
zG&(yLaz+A+V`hi>JzL+HQ=3b%D#|Oc$X)R-v-Q~L%{IwbHB<W)dug^<rQlh9Hrcg~
ze0dUSc{t@Z))lydc5#B1xK|XmtESP<T;u^xq~{SC>uN0&wPMs;vyxW5Fso@>i#+c!
z{345bI#vh~BWH@fAEuTo=?bwG)|4wFC93^YU9<NfGt45tmESJ%d?y_7+CrRY#Yi%_
zrh8bs>K-NHt&ChQ?QlnRoob?n<d<vttcfEWwa;2H>LaeYC>wU76`nP<Whcx7F=`<{
z{F7=q)k55Na>+LG<I+Yr;)CaSa)yD?F|Ir!ODh*%qZ4(Euo!czMbF2IGv@o?sVpr|
zJQ7Tzy1<<&TEVFAqKN23N1XT6(s(U1WUr%ooRtSCHl&VxsghddtRik(D2GAr;-Z-C
zgjcpewHRmRx+|hQ{$-AP99u_=9*X`bX9Uul0*=~XO^qXqVVrl-nB;^u*8^>211_5R
zIjOgs!b%=#@l*)8nsr^zMV{oORUTVQY1~9MT1um(pW-LR+EV%y&|N-#BR9nrR*6Q^
zcMjd<5(Y+LtQWcHd8HG2JYP4jc@HOQkii&*u#P-DMW)fzFJ;^u<A@e#FmlF?Y!DnH
zYru+?oN)t+EFzyi$jc8UIql}*>1Ny&jyU0XJdvyw6VGm8_exb)>MeQRWp8Z{^$wl%
zggk1t(1l#{H&y`|!x%-mC0Qb~No)OyVoj=EGiQ~YgQrqsY^)h)?q{4acxlx)E0G((
z&KL<B2{w*KC(KL`1M%Dg(Y(r$PFb$x{=o8EC3I14<itO@KOn!%CBMhKEr<GnPxuJt
zZ}9yhy7QBN0w<5I(0AZlBMA@dp@?7Aj_7d?lAiBzj@se1UTAu{jiyuej2Vba8}F!f
z_67E#)Ye=?vpxESo{B|Jgg$e{9r|VgWsw2m%tN0%>Wk1j@_6L;C__GvjNV1#j1zjv
z`nBVGqN8?rWVLHylA{(_hnykXwRDuDme@ygNe|Ff9_bA+yHNNc))4#&%@xtLM`*W@
zU??jU-#J2uM?0d&Bi4B8wU~#yv}07g)U1f-lSUtxa=Nt1j%acHNeLeYRnR<E)whe5
z9AC|`z*x1FtI~2!(U>8zJ!C23Vlsv~7INO1jL~-dW3OSVagiIzC-=uW(#Ng}%PiS+
zF-Ji@$g4WM?mop)o9sUx@|XbiEsXdW)zP!C9)-~!C8g@Sh;aOLjSu2szVaa#{hrfF
zA8gN<k39!w$&4|7nj>1n6;`HIcDXKuxFi3`F&|L5UROvG7E>mWZp@$Vh?7jV4?1dr
zy;{!V<b1$I`f;N3T@;p8pLTmlY85Vfc}Lg4c{c^t{Jk`aBcq=|UV|C$44M&R*P5}?
zK9HVPFebA0I>klijADO<mAW$keE`0L{S(|T%83(XOvsV~wBC(<6IkJuc{gSn_?MX?
zk06kT-p57XF^UwR#JN|!qjvatmyzWTq4h7!HJz=b3?V8r9Z}+EW@e5-NA3@F2`jWM
zH_wsGt#BN3k&d0{&aMsP$@MHpZSWZ5A?)MZRl`fzjqR#|jHszyHQ>2nM>W`wYRTq!
z3N@3WEoL*AWw(lXV8l^7+{<dUqsa^7)W78ZP^^xlr^(rVvuexe)9e+=BS{5ufVCK7
zHv~hBwQ6Ih5~2rIaq%=Qc^BqvN4&SiL)1|#Jbq!d7o$}%MVnGFIw7kppnqP<iSRtd
zBgQghkjN)XDBd7rLX=02<RV#|croYJ>DGf`ftjRx>{o4}?3<ss#~roK(qME&&3xh&
z{Erl4GdRU~>>&v;Dwon#fXZ+WTp!)ZRd1KDV%z=NpohF0dpWRDj?8+bY6)~O!;ut_
zSt1j_ZV=3aP=XZz7s=~HdrZ$mwfxi)q`^!H@*&^AjEbL#`2_}cn1Cb9(hKPt_W`0c
zw_Wrg5oQ$NAG3Q8U3rCnKyE)l@Fby_TF#|wco4h=R0{|ntN14<dQ!^d`8kix=H6tC
zn|5npzsILPJ1Yt8_DP!eTf4*#66d~!eL|)5559$K%%fp%^i|jxR>$lP^Jdtlfb5K3
zD(5h;^@)lzj{e5eJy-_+tYc>l^}yLw53y+m#n{vx<k)#OhekhSQdnQI!@=GX8AV;%
zNs3bD{J`+<07;2Bgct+Q!aww0K+uOUn}seQJED-6q%I;%NRF}UWJmOPh9sZf>LTjX
zi?pfkDXP8^^X<KqTfjIJC5<4Dk#mytC72DhZGT?>H}?wchm$)EU>UjIpGx^ONA0t&
z5koMq#dALB5VIIO<3ohP>I>j`Ldzutht3fNuug;hY8d6`Iikn%q>KDkIgHqUx})~l
zK6rW$E8t0wOFN^3b<s2a+`+neRPRhxS6bRhyyN^1dT6oCpN(B$vb1|<*qjZ?RTWT*
z(Kvw|A5Tm9HzH>_(h7T59z~^*<S$s=!>Ay02kBi{d%~!KvCA*c=<9N%#Jmw>hf6!#
z5j~D8#*BbxyI2wDT>~!d97nAs&wNwoxY%C?s9eFc&U{NrR%1S#Zst4R5hpB{olVTY
z+&R}#Yy6DV&{FEWsjFlE5aR4SN8CB{zXhtTwjwjHm&-Nxu!spQ6wP?Od^$Zdz)E?G
zX(x#>qfV~n($04z0k5NDhouqcxbI+<7;EXwi%Yw}QLEgSkS!t?koz>Ss)QJfNQ_(n
zV;>^2T=y-cdt_)>{l!`(b{xC33mwsGD@RY3!idusIcl9f+E~@Z9;nnO7Z*Efjdg=u
z2;-MrSHmcVNP-xG%n6YPV;fe<5pldC8etDMYC(f8dT*PPQ5oKhf0^^0!%R<Tvd9xK
z9wC|{mS&O9nIkJ^HkYba|CdG!_Vvt~VBdFXmnj+9{`PzD*q(SoQ9}Rl>=aKKy<|`L
zdjXwgA3z?0*&5~?7-QuAdAatAapQ7F^x7-M6^>eEDUh=wk45HQKpbL3gI}V*V%)>d
zMa;~Q#|P+)U5v<L@r(vO>(Z`N^xE$k@VfMQge>izJfgiiy~>eJcU4%)`LK0OR?6kl
zu6EQW+eto~gw7E|aYoJpe}m0(g%|n=hDhNji(w`VTb586p5nXcZJTT%d3OHmq~9*z
z<DQtg2fMU|?b0RIjnE4*d&9Z`o|t(_Q}SsUd>*SV^7$jqSV6$5K{0(slJ;HNqIS`f
zPce~a;&}@q26iBzWn5w10&64~1+ij<EEKe{T7$I^%oVR`7d?0Y#$K%SKvv|kJYT|o
zW5^9o;6doi7<th9fr&BNrCqD&86Lwu#_4aw2B{WC(fk_O1pkJSXWSTP;`F;Qjse)g
zaH1G>Fm_{|6f2K%UozJ1csCbE1^!(b#;Gil(yq>RiU;<h%<&xd!HO56A+!$N<&l=4
zyOHz_E6Ft^L`3Z3h9<G|6k|3b;q{K_rDpEQIXY+VoGT$;GM-uG6Roy0_Zu8>!Zvkk
zgBu;S$}8W=7Q+4~Jeg^wHWsUPQdfHzl0z6v98v43u&~P0Lf1Drs>Lf|W*+T*=w{U(
z_k{n2sL9gd*#q|2oj_0Lu!@hY&PV4MUCF&~w>Z)kk3r}m$aCcH7tl+vR|DBRViji2
zGFL@bgr0((Vt`?^!U~v6yVViB)E<JJX#CIE$;A+yjUJK=O*gl_%@HTNC@j`vmPwO{
zI%ZuiRk-ZK#u{cXRU&ui*3;eX3X(Z8alKly7Gj}GyF=AWrO{iJ;K@Xju(V6N(-9S(
zFJzi=2dH<+mDGA#Q)sK#pvAi!(RS{scdPb{IW^Co+xMF@eok-QL5Vp|rm}ld=yRMi
z?`<^yrquYgnK93{|4p@=bz_y<*uTvyr^fSQ<M-?`QniJ>%#j6n3`o}|o(q_HxYtpu
z{S{VnCT!I?yb2Oy^?$jeb~zGZwE+890@U-d=8Gps$e(z%0qa}Hfw89#BR6s!jN@2s
zz&y;Qtx)tj>rcEU3jHPT(u7B4E?wzJX6_@&&mCbEIcLZ2c==5CzAlo9SGh)$M@}GZ
z;bWD~cr!z0tW}O=WQvAVb`(#dJtW!mDW%<ExXuyR1Ifw*>Gxp+$>Jy*NEw;DFHrY|
z>b^+b7pwacabK?mY2N^zsi2J<MIl?=F%9_AKzimfG>I~Hf3}Y{cH+qz9icu&aU~^7
z)&kZbWXssGDm8&!mkg8ilI!FOX(2aeiLwsnI<gM>5W|>j^eBcgJ><;{V|th`NmyQj
z26`mJm<FEPNElN<&J9R1r+BI(xx#8hat-DPS-Hf?tXr!U4a(_TX1UsGc}j|p;2jFA
zPnO?K$N338b*GNOf$S^)%UVwEg_tw5RE7n)XR>$XJM4L<XsI^DEYNC0%)}UG_%M55
zW*cJ8$aOo~Pq31}{eZc%?>k-T-&W11>Rm!u>zE-(NLxK8x#faHZ!r2h=E=#eW9A_t
z9D(q(y<_y+))L#BX?0XG!&>aE$Xl$Eu_rM#tjKmuGLAoHO}0(1FkylASq|$Hl23yk
z_BwT!eAug$N{_9{eu&-j5{vbToKZsBD<50NkS~>5GOdn!CEm1Sm8~sW*jwXFuGBbJ
zl(4yx58&yBY|qFCu=>R?)-YBD7{)rrN*TkXmXW0)hm&IvT1Li(JzESjVyT1}an9iG
z|4y94jz5+h`s=#<)ovWajw?ycY+v?gvwhj`GLK_jZD01>|G(|q(P)9^J?-};?u~6l
z!PIDhwZBwvGGN@3v9pHpe!XZ>oQOUDe|r=6<hJaaoPS|2XZwALV_93YQhmvY?dHg2
z=SxNe`}KUu;O_r-Uvg?;t2gl&W8_TOFDpHa?U<UQ;fbrnX}?F6B=QWyqp&ZDBN0a@
zJRxTob7GgvU}qEKNp9?O89dvScuv<g4E%H%Ku2d$-Pbanma~-UxW*GqiPM(#lD(yE
zt~=Ut_hwtjX-m{v7}h886bu=iyp}qM(;n;=T5H4_lw56;E1Jpp)>4TH-!)3$wcIw-
zv6jlUPy;G`J{>KiN5Hm5E!ZPHCD~`vwJA%pO|409Nrx{>&G>RIkq%#$n(<i|X8jwo
z$Wq`NFlm`|6s*3>^?0S&z8;qvtIME>y1<7ek?G54l^j*fP$MR>Re)<mAgNcZ+j1W>
zR$+n3eW<I~VYyu+jx&TgVt%A$1}37sRgdid(1f&~Su@;f*V9SOJ=$vpNDA&V&yD`D
zLMc6=vVXQ>H#cps71+=Iu)@GZ3}|nk>wI4T#s9s&;B?NL9IZPNlbllOyd^NQ{b7mp
zqfqB8fzeB9mq%&4=RbH#%ycrxrLKJfgxJX({@<CQ+C2k;hG7BNf^GfVJ_Ryzt@dR&
z*qI{bFmjwfo&&+E9Ld_J&p)06NpIpDpfk^b+Lw!&cQbIG{Qb>K5IK1M)IQH@d)#kN
z+jb*8eiv^YU(hB;2;<2NpiVPiIU|&#mXz3j#R~g+ITG<~lll3zM-#}${oja-%nf^2
zN7uv9Iy3>DbVuvvXPdB+-P1hhyxVz-+(VU|iP)`bVy%F!nmH2zCijcXs|CPhOZ;D6
z+k~9l^U`|>_d<@h?6qATTe^l$M^-+aXEswrkLtd)PiX~SdCL}_oqk19u8ekU?Gv_#
zMGac;`1G`7M6zE4%obk6t6OpnS4M?&__EZznkl_29lk6z<HHNnb1O@KKdYZcEHs|c
zzychj&EuZa{gLomo*`t8XGVlHq8Vy)+%(2M`$)_^-U;tUgyk{JJdSe=={)a7e3pKD
ztj%slP~rGy@NPefm}j|}Isao6NnR~7yh!%yuG*JweTHCIysPPSZB#cRs*KO+Vp`{-
zH{QL}wbA=fiYD@1ZFmBVU4w{FhBQthI(ix67k12GX9eDqVYJ{R#)Av|Lu{14ufx-F
zqYWo<AGJ{nydVN#edQEW8!~fAXBSy&eSXQ$x$J9ksqq{D^uRUnc_poVvrY5LS>}iY
zIeAtkx&QU%Kky1<=^WX4tdM*d`T!1VNsi-Y%`pF6pM~0uXmY1z^4tQy?le|3d3Fe>
zF~(-LLU)b}-4|o0bZJIw^wU3L-ygBh+{5Lsr#VV-M6}PvjD4Yh%;?(}M=|oXwd!My
z*v9D5K3eUM+0H5bZ$_oA&Bw5YhdCPd_u|St`*o6wA={8|`$I3nFBx)7Igry_4A~R7
zzzh{F=9}7ZmWyGZASB49d=4Dts?12{1JdX0vntfUEdRI9#f%;2ZAB!*$J;+AH+mGV
ztiKF3N~QJNo@W`n{GNKYH7hpu92;|VyWiqq1TkjwnR2nN{<Q|@g~mFGd1PzbF2?Fl
zSKFbZEqC`Ssny1?9gjP0TN$xQX6IdDWzgnXiLw60Rx^He1w7aXl<h5z`LW>(+zSEa
zIRf)5XVS8*_SxKsG|uNjpvL2VTh#34LwLh0YdmviX6#(g90#55AqVH|7pb<fw*vE;
zUOye}72Ve|<Yccl_y&|c)9g9yg>Bg~d37O`dyKa1ubpqdV=<#Wo{65<ea}|pnDXn)
zQ04DN4O*~G`ll7rHtBL8S=!$0&y4RR*E8cg$?Je`$R|BDodi}t=6bvyWM7X<jWr}t
z#Ex3{3H%xv65^SJz}w}zP4XKx0O!7eYt%#T$vsc*D6?i;z=Y=IIK)vAP>xsTXEu1h
zAmegRvw!Yk<Yd2oe&{?d8d|m2v-FTuJ#*xOc4bY@-JwU;3~SJA3m!qOzJhw}3Gg{^
zrqSOv(zL2zJTyo5Mw*%<VLcp=X<HF6TicbsJ&i4Tb2Jo=TS{}Z9jSEu*qYpt!6v;j
zQm0SzYI~R~jMT$=G#J<Gyp6$FjQ$d&Cd#W?n#SwRjiFi;RYxPudNdx=ndJ6_RUM2H
z6SCI+bT6(353i|>hMMEU{o$FRus)2bdV(>1FujIL(};(bM!kx-(fZP@nKf;fMEQ8V
zQ3zWdj5iQa({`qhl)nRXi>dN2kzcOgvgHSQX^}i`Qs-;bxraJyUu@a3Wgm4j*IEdT
zKcRprH4mbKH&r3jj$<2nqW65N1N1>lilqtrpvV>x)+j|O9T{8Pnh-7)Xa?di)TU#-
zJZZvR7>R*DD!E}n+v5WTy-=N*PwgoMcvqdd#eV9(S)Ef(i*Ebjy5SWIPwTzvFRMR}
zO&#~4rGYYaUy)K%0T!wAU(|UMSu6>c3zC4Qn|gKqygKj2W&P=*Ce+jd=Zl2hHF5HO
zcNO&-dN-atHmLJ3b(VI6Cyxomn)G;0ZG+wv6i}aDA8cuiCtWX9)!tI)gf@F_BOUWz
zRgj`?mT8$nfV1J?7OLf~MsHq~$9d|!qdL!1XSS2*35>+RF$(Dbbxt`Qt{^G=ov#Xx
zP-oWdw%i1~F&=Hv>2<~O2&gk-Do>P9MoQ~`PpaDOcE5&DL+_G`(!lqT<Cbjb@k*@I
z?)On=-ETJ~iU{&n_xr>1ly-h?&&yGCx&Q2=?%DG-#M~nlkll5Px<5mmx$*^S*x`OA
zVlg8z@Mwipr7EYK#wrL`;Gq4t6ifwB4bnT7HEm){k9s5F81=zgL^nB5YY$o4<aqK?
zx;7d9u)5II+0=dK{fYHq<rs|MXp>{43jR5iV2q3gn;Y8C<qz-f_QVOJANOY9azuj5
z62X&3e>g`T$f$6zsW}Z0K<IR!xYC3RysECRQRjpn1{0tuUEx+#z{+qdB;&*b5*xbB
zG4+d&mW0o&IAg2qZ=<Jge&WX0SpR6!aRTv#Vjx8lj5U8xR|to>T@|tdk#ON)1+p9h
z2+=uuTZ1tt71kWVEDsViw1JTY#G!B|@CIGuaA|IJ)-<6!x4hR9qmQ<Znqf)30$Emr
zeeoHtU?9OmIpC7yHiE3Fxlc^Zu@v9}RS+r4>4T%~6vIrAN7bHGQw*NW0p|-Q4v+@1
zK&)Ro4ltESJIZvFxOotSac0m52im(!TuFoN)8|a>YhrYkf<YcW%tjtWK=b{h3W)_w
z^s@g_V^^ud9o4znf~@UL0Js4}-<Lj!E`8{OdCU&<anlE*FpPuQ(Vp}{AKZsNsEgUh
z0Q&TzPjC7Rqz{6`e)K^QMo;cbA25(bAMUSix=ubK>UO<4GbXc~j7@hlv)-J$-{{Tt
z&kULH*V3_1Kh|NTz!ErEgTga0<6;)vC`~%r&Fl?t?RQCa`N>nZ{4n-W--B7-nwbSD
z9B%P#{<=claF|WlwjbH{%5;VE$nsaGD{LldFHcvPO%4iAz~L6(<}cV9hg*D`zb;ib
zoUrmRAvEZ1jMN_QZf=>;7>YIMQTmfJ@^EZu|Ga}5PV-IKG_6WI>;8wIS!UK9n(Bc5
zUL+Nz)n7lCMt`Y99x0l?m;z3>>+cXnUBgIeL?kimDs^LJz%5oMLbYznUFL*pY5k$y
zYQ1IS&8M`MU-sp8$IQHW!{1Nb)2deMJ$OQBV3kY)fDY1@IB<r8vUW^iihI_f5;Lg^
z_dZ#aAo?kJID5!2n`+q#W~ufJRby(bMKgnGsQueS?Zq_I5WMA)VA4!&s48?o%{(3*
zoVFUXnxIBJCaDArnW;HciM1NjvB(CMuqGj!!)h4r&Z1%cMskIUGw7m9@W{>rV)#4v
z8vXSGc>vPzcdE5J#viT!)LrqH&XUWK&;WKIeQ>}zTvou~$(1_-#@-_2vH}|3psE;{
z634*A6<tutyg%`$|5V8-`;p-EEpX}<3oF*P56}+oKe>BYVCNDnyh$twb(k3w0JG@*
zCr=f;T%_a!%TlxE##pmvETLI5V1PDxYHC%)0zUS6m0Bl?Qeo`V;5M}$v=7ypvG#d~
z>StY|n!_Jc&@}FcXl3^y)Oc!B9QjdipVwF|=7tm1%)sq|ua12-QndqmfOjD`XQ*&@
z!G>8|lPjlI96}|NdsR~D)QTc;eI$KPo!o0j0wt`E>R>!!76x?G0TcD51B$GY9gxeC
z9gv}2!UD9w4K^e>AVX8gK&6Js7>yn70VszK2qF}p0x(;`Y<zC1k8D7E@AEn}ldvJ@
z_`poqkgJgmC-)jacRjYNam|}2s^cpWX6gEExRN^h(;1o1)X7r=u;{)gQBdnYnQCj>
zY$Hqz#Fy|z2WLQK@>bKZ>NgyV{lm-0PAjV%KW(CacxA9THk?*aV=YagVd`93tw&>_
zSez#I75W^#k>T1aswIxai5!r4+!9iS>($w-&hynd<#e`!T&T_o0k%^BOfPV_#kcW=
zKc*&+v`OiEq|~%YRW@<k?i8iht-JovYs8W3HthVv1w$XZekW!DjKGm_zzuHL>(s^j
z`p3Q6v(FPtmio6o%nlY5*zzl3Ty467np-v@Cc8yaL7E%UG&&{@DD|(4KA*XLx#yDL
zTL;hYx$hTZ*#+f{13c>i{+IPVZt3aeAOEPoTX@x>7rncS9c-hiVnQa@bOr4mnGig`
z+kMp8b38jOX+HO(JNB<^>IZ^OWcqq!{@R~BKd)Fh<Bdnxzm&BjWU|86pfNgxXJSe@
zCRaRXz~zKsbfz8`6HRpqO#0Jw@?e3Hx+qX`K@u>-O_C8203QAND9_TeWk;<0@QZ8y
zbm{$Z)O8~8o0nd`{Rh5%?|S@=Sr;^XcfltR*a~|Yjj6+6`vL`FnHVE+PFtWb+;pxQ
z>+?@5tE=-=Ps5}^%*3jBB6eu5c&1rJk4zJd8uSU2PC!@!2ZWh0ZpSyrjNb8YH$Pmn
zWb4-tIl>NxwE#W@f$Qn6G8k?NHoD8=@nCI36Ggo~o=Buo4~F~np*1CXLK<_=ZP4R1
zVRX}%yOy8rx?>HImc}}FP*ilsBceDOiNxK(mUyIzo=?>V8yj1Px+78d4Bg$R*T>y0
zVTrESx$6mx23u(2gxXDlkH%JRkREX9QOctRD2~&rIc<Te*o)5f!N!;_)<)!&D$*RO
z8S2LYl^%JOwtlnsm!EdY$-i#J&HJ8f2fIgL%P&D-IbHMPV)uk-FdQS{oB9}6W=%(R
zXrnn23yBAO$vPhrRZpFP6N<;&&EgUFLBrhT^%nDlVpf$81x8q)#hD2=p_$tRxw(;O
zV;yP!1tkY77?UiMXz4>TD=Z0_Zjx%Jb87Q&Quf8BYrd%Z<=Y?MdHc^R_jzFnv~7hI
zo2VEBtdR%{dM3nf;++x_ae&WHn;v*SyR6rp&u`PR{KH49x3PmImS+gxU~hnIBr(pb
zTjRtAF(AoTo%VRM9AC{E6kh6kscO}en@|7X!_oIa4l4`}&PPHHm(>Pjf<&RfZc7es
zlFy<xJJ+5B{pgJsr*B*J!Z^R@wH5Au&)x*Ybbf_0YnB!OkdCxj+Bvd3u_Bqs`7nt~
zo5Dp^EtW5BqJ~VqYZJ9sFWdX_{K_kD`D({k7QEKHXJ2Lk9I;iA3=Ims@!xODMtrkZ
z|GQQ_wQ0_4cCerl11F(+_*EbO33{!jO$U$;bNdpazS9;YVHr0`wsjM{dfL+kpO1L{
zyORg>`|Hc^ESvz;OtwY2U7BYHOG(!Z$+|gdL+`OB$>7|HWJlh)b=i6TReyf)#i2`Y
z>0NLwB(uWSpfNg}C2d)RDf72JNK263xyR0!rPs#Y<Mn!-c2Ct(N@DHDV$DTRQD2?1
zbw{$gU#TDS@&wD5wjXCxT<F?<>~gm}_IcICy$7#5<j%+6s(OxDfW|op*-ZfKU_q0u
zi~u}cLCr0j5Hob`BrM}5sRzT)trI7pw&myG|Cqa9+4G8u58t`AV!)Y)Y&Y9&2TSR}
zqVehYrlWgg+JRcG9+3O=t7Q{!y!`1$uK4N1yqTcpM5fh?wpq5^TXbT@+@BsjahJ_o
zLnbS14H~1vS>F|?-P<+yAQ}^P=r?Db=cxl0dS6}q`d8a-09hvjzdZbrAzM6s_nr4}
z&Y}ZGuRaR`TVZ#gF?AS@X_e{2E>9c&b=E7-KI7~8{?g^=+<M}H4R?ZtOfq#{xWOV@
z=hKFMnbL-NBuTs1cOJ`~TKQ<;pDQEZuekO<+ud}txdU<9(3iAy`?`Q<{}HoR4Lk6j
z`&xbat9G!UvM5f%s>a~j&1u5`qWIqHQ*NK&b1#^+;Hjn83^@H3aFNNjD2Eg)-`upe
zyyC+H-v4U;`L_-)sIh~k1RX=NZcZEaCk`hLD}8+Yh}Txl$klGSY0_sgaPCC1Q!ZWB
zS~Gh5F*onNVpZhid$)sRR@fReMu)S|a}Z&ww83~Ls<xuGoj!;ab3sjgnVroHPj{U(
z&|qJ~t^fFXx6dl>yWpkLLza%}+Y16_)J)g)XT+w?_vh(7yE=V%)&2P{k5ukGq2-3A
zGqzq?{;*laoIcnMXLhiZ{w(Y=U3_=fP-{2jgJ4_!4*qZYDYvIyb=#!J<Mm4i9lqbz
zcCeJ5EE=DVZ#vA{k`VQswjc@1xJmNVfdoJP*bfH$RQ^PE&*OaOowjy8#Bn6kPX3vT
zHdY<G%i1%iUsbiX_c+L8g|)8_gK|n{-?c+6wkOSg<ddzhANko;``1jq=%;xz*MX`N
zBhDW)eO-_8?c%E|-dp(a#RKk#z*d+Tx6vRSLet`Ei1;>)_^#9RK^TK7Z%ZFupjB<j
zlR<;-GYNqy4Gy>XHojb4xB&5arpOakG}&L%Ph2u>zZpT1qTQLqvr8MZzOCAS=z()i
zyLxib!u^;9aKw=Z4``p5<?Xr4$f5gH=P$VEq?eAl-ww7$iP7#+36J@j8-uN4ObXS;
z987AVPeo3i%#0@$SZ-cX6_aYG^A5mqK-$3{MlOA_a{H~$d+6f7yjlA5VRo>82yFQ!
z2pmY)M`3-|O&g`-`U!C*TA#MZ-Ct)3)GXo9*+2Hbyz0rv*X?=4q7kKMT?PrQuv@JX
z?nZ!WvK>7YC=b`^C-f;NIcL&#HTu&<@<?l$v<0dnrOotXH2JMSrocgvbY^2@2+(`m
zFUNde_36NO*A7~+_|~&Nwu7athc;2g@p`-^8g@?#(huSKC<$T2Xr!@`gtZ#5Pajz!
zCKl}B&4g5I;0NQPAl9tchU!D~Kt-X1pfoLI@fACDSPXG)OIb<CbR%lBb+ZVtGRJey
zSpT-0uDUk#Xs@ifx1&NP1x^D39qZ*u3#jvabxt{@U3|r3#k5)1U8)_H53J&Fi*Mu0
zrKOFEFK*7TDRBf5Pq#JG)&6+de8Hd{A0IJltGVYdzW=DLo_w6y2BYv)9C)m|OMcVK
zA%Fjx(XXyrdST8rL+oJJ32gb5Ft%%?f|^@SAVQU_u>`P<i$v4F%VcqsgU@pgUN@y^
z<UZlEuN(T8Tk`roX$RW~WOXD6xTY(JE$=8xTc9dhPoin?jALi|tbXdLCoT^}m-YMQ
z&zFX7`FaK5ZOJqZNOW|wC*LipBxKA|_ilCOQwC4IA(JOBqiM%D)yUE6EQVUT7R&8`
zO;iQxT^?G*;TGS<mrJ`;-8`?(OhmLkp@AMfhOy#I=ekfVIHQq*STJ1Yo*Qaxq>?zE
z8sibNUN@|dFB+Wbj?~w?n?qrWh!OXUmJkhs^(|rXOQB$6DBe1({k`w`=^r0>b>Qw>
zgDcjo`eMw2$!2%rbq`41_lzCRj{DyDXiBi?kyB6H>M=W52YVk|*-%{Ot3>AjT3en9
zKJRTjbLt%<d!2jzjmz)6d9TC%V+Z>+dmoGEg!j@X?)`b(*vi5ESD$_R3)?*O5_q@5
zMsb657Rtd>RiEA%54vk~8Zhf(eFBY<U|e(6DNM7KO_ke@CP-kjhh>XI7H2-%Ws|hS
z&R4&*G3>NE8K3mf-$xA%{PQ0ld@}H%?fp%aX2Cfbw+n)HupkRdXG7lU3TkfIgxI!9
zlaT2~G!56lVK-0!-j?ft|G(Y#+8g(Inwq}7@S(q!Ej;&5I~d%aX(eRp=0OLWtKU3q
z;6>Mu_~wH6tmPLsw><P5fgH)S*BidMJB<4J<EIB^&EN3mW6wY)D-1Gm;_z$9v=7l-
z|J}G%*LWsuzW31OR}7wf<5&VYlBs3<<<Io=d~?Lck8_s1^2Ww<A(IsbnK&H(S~6u3
z%@1EYxK~-#Tl0c_E_rln=}%%`d?w%Px`oAzDegPO8V>Gs?T!l<zW3b28~k@nEZ^0A
z$>!~=e&UAEDEEh5==${+pMPkuXU$cshrM&>7xz!Ew1dGmd~~;Mm`)}e0OtyY$iI-`
zSf^F@%Cyo-wc4%9iqfU=9Y+4>{pjsMs}`OdSz}fucS8(Fk2f!U^P&+i4tucWg)`rJ
z=z|S*u$W>Sr-Uj~7U{b7@q2rp@o|C({>$&ZZPDrxJG|C&+GqFeJYe`pJJ|JhGNsH;
zyH=)wM03E8gCBd<<6gaJ(~4`3^vxI3#Y}FK)@7DaW9gsmQ(?PZ=Gv3;cRzSckK^t<
zW7K(-^+#T0=Q6ud!^ckjth#rlZ;#ve%eixpk=t!$2m38t24QgTPk*^56v(|~;(m`W
z`pcwMR}m;}v}czA|0B*Gc>9Bap?z=p@`1(Gub#Q99qiY18SbKP;%&-fhy1vx{QcI6
zyI*?68&l4yCXo2K?HMg!p5ABFRh0+Kx$?~GmTUyeX=O#(75JhfCHmYz4%oG>w7j(c
z#`Ao0{`=G2$6OtM|L`mATnVeuRuSxAzlAH=nIEc4*HhV*z`u1XxE<`*bR|wu?6ze=
zCTxkZ?y(0P5qQhjleW2k>{oAHGBI-T6yJqn!kkVAsFT*kF3#v;<n8T_R>ga-ed~hJ
zN8Xn6*M(O<yYBtV?ObekV(F8b8%N(!acK13BQCt_<%!Fi?O@JatZN?-BRB1TPgdQ(
zy^lN-EV}l>A>VEu02QWFFS{7{w?0_5gE@1tu91nO6}AH$k$d;vm-%y^cz^S~w|%ky
z4oe|ZU;0=d?E{`pR+Oc6B{w<rmB655t~@24;LtL92V7}bY@Zh=joSU)D_*TV_p64+
z1MFPMt~c1hoVilh<`s4k28v0iUUntB9Lo;o%$2%ECUzw}X}4}fgG_e$Dd6d3MOj)`
zdM}eJy+_X=+Z~mzAN9sPSC4r1ziY34d({i;CVpV&N_!GZ)*a$@FlVkr3*}oNWa2QB
zOaL=nh}uve4h#m?UG#vbQ!l#`__uCfvx7NvrLK|5>`K-xevk?K0PfrP#_L5RUpZ!O
z?-w5Y^znxAfTxocWocchU#7h>9df1OS1<lz-x161TJZi4=j0qvwa{!=7R^osJJ@gG
zN_OVYq+WI<yX_fvuwT=axO-r`hjo8TCYex{)@5F#!n6a~GBR<yqtBPGEWNw1GCp^h
zZ|$N({xj)#JD1s;sDAhCsms@T-+bx(r+Yr=TYY@g4rcE%A44KK%q>fZ`c7Mrgk{_$
z#jbQck6i<N7QXZLzdso<>Fr04cxLswX~oak!R%e*x8WV4rgZ`Q=sB$mAZJGAgySH2
zk{coES_CS<YE;27>YS1hL8t9@q{XqnEPi|Be@7RW9kQ}YKf`afD&`S5>=sw;U_ps4
zz71<nS5R}yCd3RLmV{;8h^8Sd4!Z?tz){XPxVIkQ|D*5jDf_SY^#1GLdvVdi(+>XG
z4z|%$F(H#{x`K9(OarL(Y2V&=Ve{yte;N4D9ZN1dy4cZTHux`k+wJ{Vpm0-o<rime
zZdtLd9V}0AkCTweOBZFear!;1ctNr8(;Io;X9E2uGa`SLQ;RnsyIUhI?zzD*Z2*a2
zM~Hl1qDFtjMINk{4*&X^Co2h!qg^K^wa&93z7@7yGAX_VfdE~$xs8~VV%j|ejU)u8
zr^Zq{sheI{kOWCqO#;xyg<z1AfB}U3&Y4C3?(Lu2?}ojW-2Tc|@BV`Nm=#)QzkoZ@
z*wtSx*Wak<=RI%FKDYh2a;LS>m=(4Tjj2O0R7N*7&B3{0`yUfSJH`)u$wy)W7eDQl
zZZ<cBS608Enq-|g{&_F+Vm%Aq0HkbR91v#X_OFb~@%`<zm%n*z;Rlb@VOk*~TJfcC
zZXffk8@T@V)*I`WA5qKjHGLbtIbzIF{d#=+-Rd1{Y75dS5pb?!rC~?+X@!rION?^}
z`AKg?#t2tKFBFeghr)qqNDtRFw&E?|0s65vJw6^x#V1jbFBHR8E0mn#K8apD9*<a{
z;`!T-gq{pnvuDA17M12^mlb&n`~iP)ASd5noLf><l#^5F@#p3RJVgZs0rB|LVrMZg
zv!Q8iJFh5Em|f<}%lDP#=lhC^O0u&Ha&rs4B}KX3K#8wF>~gJ$)QY!A6EAdF{o(2M
zPI#cz?4fS_7vm>ii`MBY;U5gJb9S~X<CxFDxB878>={#~--)gB$~?K=5>KGG%;U{3
z3HZv2igQYGy*b66f}FA<zrQoK_V_%-UVl+`uCKtGUsjS`oSRqXFD}e3$nkoMy(MMB
z*5f1eej9qHu2hZH*3bSfZEcMOu(cKT?C;Ok-u&Fc{D3zQ@OVq|y}mL}z9+XNuc*vd
zl<)Ty<a#<|YhPY&agoRG^?C}5^0U3(vcfWdSzf+B$LB97_7xP1cU;uat||K6E)J`q
z+uf;qQ6o7+>7Qs>UWu0Jt4licg5|6852<*4-MgnRSn{X$&v(JdR#-k$WTH3Ig_rit
zhGKXL{wUft)))%UbdQ~*N28%Sy^mjnO)=Uf&={+dUS<-hbNj<BO?~>*sO_^ccSB?@
z@~H;2h3rB#9;5e>sExK5aGN9a7c9ivHd<((EnbgOHx#chAvBS}$pkH?$K%9LY?!7E
zQLOVQ`(Ar{8di!XGA-4ZJSC|gakH)1`Fx-LSB?){w}11hK^H!9#0k4Y)mGRIvTgA#
z2&|#Yv2*D!aP*PML+U<dZ!nyA!HeG19B)0$O@HX4DHsjW+gwOD@?9@c^|v};upu+5
z^f<lkTeM4WM$zX4!?pD07ux(cV{EvwRe|CYA_C(e@eY|eWb7FsZ1i&vsiyYn{V1kC
zH8MCxRl#Oeq(;|=i)O?<-O;3OkrIo|(Ba&e)#FI{{S-D7J?!?GFZ@t`@@LO{_S2sa
z*=g){cCa|NPG>;?;kuj>{LsuG%@6ui!v#|fAiz;QMt^jLR7Bp3ck9#zn}RcSq0<PZ
zeo^;K{!s+I)r|f$3vI0wwwcjN?oC@Th5wSnS~c}qdmR=s&?24I{`VQ7X2+)R*p%&f
z3g7No`VT+ue#>*7c|DgLAHQ++k#7xVCj!4bOSjwBWd{qQk~$0@nyw(`mKjT&(-tIQ
z88@P7jt7{fTergj73GYBd+P!I4}W;(cdJMJ`-$&wd27Yu<KM`(gZ&n>bT{$V`{W1Q
zTa9_)>8*#pduHSM$v=aCCo(N|`5r1QFX;Wy=EV<2b1%FaGFf52|5-Xe2Qs|Kq4?Il
z8xY?LOPQq~Nl0nm5z?{QISW87%cE0Hz8ke+-7$k^ojAmZ%Rjl|asS_6J^pXUU4Gh*
z-#-A2SYhkXm^y^Y%jm{3J2Su1>vuB?hcKSJ#|Qtd^2_&M|M{j%NA}W$bpe0(*&}Xm
ztr~jQL9G=J6)Zhz2gnEb18V~J9WZjA9S(jfdd<>H|2aCH5&_3yN5c;GJDi2*=M`la
z=jVFMa%r}lTi`A67y9#xyfj@a_7{7~@;Z~P=M)vvjL(<tDJ%)(=NA-Hqn^Tmk7j;_
z#eQ#@=XWs+hn=j>&UO{XwR{2J>Nj?<-{CAgKaiX6Eezxp=F(h@)?SMJB}FAZuh&=L
zD=Nz==+w-t%$px5DaI!!KfkOvzt~%tLrxX&78ZDY*+qH3i&=O_Y;BDNXu}HoJ<h^&
za`XIUIoUZS{@i?@x2z<`L*1_^uQ<D?$Wu^U)|q}yYiY$^kH=R~SXe-l{hYF#yrPmK
zPfnpPyD%@1FXzg?*(|&xM!vh|)7J)9-QRNLA>M_{Hx1tgZCGJ{%)-@-KPe!#JN@$P
zG;7i$zTBRtUa#NiJNf(hP_-3ygNcM7u!aC)I{U{g+@zZ16{vJc3eUo!=uOMQW0w0b
zEG_Fb{O-xEJpy*HKW5?D`%20D3)eH%{d}|X&DUqEn+w$$&jQ5plsccK&fFp!rCGsK
zPS(G#HArE&Etn48hyEh14y1khUrlb)?iGRKu0DBmSw;Bzmp81xWyjOKNw3-D$A$Y5
zqid%Wl#L%%5<6^|=bowa&%447#u|cLiD1&rzmOO}v_8t;`S!yq3vUX1Uw-zgAO0cU
zrjo7;fj1oB-xVubv@*~-;II!*yZ5DGi*K}ptr6Hx-zO!It?N##M%7XWH!5)Lbb<l?
zzCvQx45<6G&Yt$g1bE(@wkJHGn&nyUT6J&Taxz)L=?`hkBkhtH{ytJ#zrKMA+wIp2
zXMdmdcwoVu|9bKBi@i0qKQgai1Z#RY;5*j+5q7Ykz?NSLzt*NJsJUemVh7DkvWf$X
zs@8oaC_p*m;NE(Gf9sp$>|npeN*C5Ot?%6f|4wAG_HoE$g|T0vO{t_Ty6|}O3JSb=
z#l^+`oP2LdiKn=P9##7aJ(NG^<YbqK^qCffYUH22l7E6&G-2(?UAxR<7eSfvwk&+y
z4wu9>`#<{gkEacrUp#2oFVKb+cCC;>eTfF4jX)r$tfa8aLsN*H{JcUxJ)|%5_;PX!
z@^b0%y?Rt{)kXzXq-`s-lVA=#AHw#FIe7OAy~aS@L_>J#!BAR>592wBn_g`Y*Mqd3
zrQRK+zb8iTcE=xg9;wI0dlFK&w{(qWSzrj;mIkfcU!XxNY>jGAqyW9?ru~06qHFf;
zurLS;)?G;8F_XaW1A&gtj|nhR+A-lGNhPt(vzy0+YT~8cW5Sjr{&DlvQ7fL?IP=ph
zR+ikl(HyyXOmLGN*421BSWwA})0V{bbaiEJIZ=p<v;|36#*Jv2&5sn{`V<4Gnaq!J
zH+`%xA-9A57GnaQI$2-gP9R4zeQ<M+FNb@|!^3)Rd&`Fxp4t;KSz+v#Xj3$*Wzj``
zz(+e6N{S21d^!0=**=e#{+IYE5_<By{$j8ARRi`#(S|d;I2?y~w*j5gnlNpFsGj;|
zxDAy#vElsdubfg-6$w4?uPsY9)P6R^P4%oW`>0<=o2dLn`Ne+PRFj`q;`bC|SBF2J
z)(Qg!fqbjHT^{d$d)--o5)0i~VQUD6qZ9GIYX&kn0}eb1vi{B(@J!C~J`m{We7wht
z*3!oN10|J2Z|HoypHAe`&H-MeotW*8_e*y>HtU(P=C!BIzw54#pS~;U4|Q|A&muXj
zFUPQh1(m!w869`Jf~M{IX$w?E>nSPT<7v0`1tO^6QXgE~9pHapZr@>%G5g;i{qwVT
zUfVFP-VXL_#(U<|3GXkI{oud4DtF4Pt8QGi{>1P<z`GU3{wLbqmA)s+-6W<xtugVZ
zqviVvy@}Timd>c54N{d6N>jZp(O4uZw*CX=7C^UxiiQV>?@q*gxS9A{;=Smi1Anne
z(HDc(;KhsnHo9W(vdeE;de_#^ESd?mSYb)wzdO{@<wHZKRcvV1xMH;#J(VC%T+jL{
zNa)xKTccX<#4ypd@37pF7_z?16Fg=T_<bb=4-@~}>!QoZ^l8TqY^iGZ*wOQr`A-})
zcGF*XI`yS9AKy~F*&N7u>=;Now7v)14i;3p#>w!==?ZFYS%Ks!Z9x*2aU+_B&2eA@
zg!TR5fM@avl!O1bzWgHoS><jU*PJlqx|?U;wcHN&dmKB!r}b?)cCe=)s5%ULbnj{p
zVzKotLtw#)J-#`A!7DW*KY8!;c}FeV;qE(LgiKbLIq(aax;#*KkA9#798UD`;>O)e
z*H_kF>pt`4`J48=>qO|m3R@#u>r@WEm1-h!>QG1I+UW!X{C$Pg`5^qHYUwOXi)}uf
zY6vy-E~zLDd>=V($%Y=U#0IGb-0I9H2M?#_QI4KA2;V^RwmS%aaqX7J9xZ?1hD~2=
zdg!|o_HdaE!9jR`;?VjBMeJZfmW0kmr=PB%=9W!}88W{lEaN6A2xGz9`sY}H3ftq8
z?g0N;k3N6ljKH8FCsqx5<cPl==(U6W9)mFWw7${B4#pk}9T@ho2AQs1Kec=74d^?u
z$HvBepS+}M%7gDd|IXDP+;mGVWU|73{UF>m`hgB`IMKrmyL|KWwN+zsmQA^K`J*E*
zxfOb_!q$k^{zrnax$AFBjPIfp;ZZ^$(1<A<#)Ylv^SCO&@KYXcZi$~PCXV8g-t-T^
zgh)$mgSZqMN>L%v%xqO1=kjoUgti>hk7A<u)lX$)j*dTEJl^yR6Z5tF-HIf{xb)`}
z_}4>5Llfipc}Yl*ot*g7yz)157!P3O6yfkbV%q|!1aF-zpbrlEVTCsQ;Dg<M{PqHW
zP?>&8gg;O*L!XHkTFXC%ocI-n`{3bPxu_@K6ypIFrsUcJ1;t}9@oRBCCjO{>AWF-w
z^oM(oA1<UF)}XznF!8fhXH-Q6D12{KHKBZ#0@EFmqR+POgYow#<PXpBgPvGzG}Igy
ze_$AL)r!AiOsl~3bCtv&jHaKM(C>TdB5wI}6#9)+OY<<%)ChXnx9-NmvHZDEDD3t|
zb$a&Yp~q$PQzFtBzvvtIhHj7^Ch<`t_~?L^V%C;AE>SzA5qdVeNs&~raufOTb2mLc
zjJCS#Vd0_f5IsB$)gBMOCwI}q^0nzEoxo@l2%`f^$fl~&RUA_m68x`sZwO(w!v92P
zMc7#^)K6Itor?;5ft*00&rf^T^F7`o`W0|q9{oHtyR6J#5Xj5X-cZP#Hj9NAg59Rz
zDJKr`_yr=4=jBO+dU1&r6#OOxe{QFe-sFF1PGVsjQ3r=xd>dazLJSyFz;z+M=(t9n
z)DPO}<`Y_oK)=9|Qg|Q%;kGz7$dfimo#hh=7`Db+BW~yq+6P-2<4M==DQs3to4Nls
zw;g%IzW%&(`+T~`(&xTC^5{9Lft0OpUR7Y0a)p9HbvW1vESMNghEM@kB5<^c=$Ck@
PszEDe(rf;F@OA$WD$Hje

diff --git a/Source/RapyutaSimulationPlugins/Private/Tools/ROS2Spawnable.cpp b/Source/RapyutaSimulationPlugins/Private/Tools/ROS2Spawnable.cpp
new file mode 100644
index 000000000..46fd60476
--- /dev/null
+++ b/Source/RapyutaSimulationPlugins/Private/Tools/ROS2Spawnable.cpp
@@ -0,0 +1,33 @@
+// Copyright 2020-2021 Rapyuta Robotics Co., Ltd.
+
+#include "Tools/ROS2Spawnable.h"
+
+// rclUE
+#include "Srvs/ROS2SpawnEntitySrv.h"
+
+void UROS2Spawnable::InitializeParameters(FROSSpawnEntity_Request Request)
+{
+    SetName(Request.state_name);
+    SetNamespace(Request.robot_namespace);
+
+}
+
+void UROS2Spawnable::SetName(FString Name)
+{
+    ActorName = Name;
+}
+
+void UROS2Spawnable::SetNamespace(FString Namespace)
+{
+    ActorNamespace = Namespace;
+}
+
+FString UROS2Spawnable::GetName()
+{
+    return ActorName;
+}
+
+FString UROS2Spawnable::GetNamespace()
+{
+    return ActorNamespace;
+}
\ No newline at end of file
diff --git a/Source/RapyutaSimulationPlugins/Private/Tools/SimulationState.cpp b/Source/RapyutaSimulationPlugins/Private/Tools/SimulationState.cpp
index 555f02d09..66374be4b 100644
--- a/Source/RapyutaSimulationPlugins/Private/Tools/SimulationState.cpp
+++ b/Source/RapyutaSimulationPlugins/Private/Tools/SimulationState.cpp
@@ -1,9 +1,10 @@
 // Copyright 2020-2021 Rapyuta Robotics Co., Ltd.
 
 #include "Tools/SimulationState.h"
-
+#include "Tools/ROS2Spawnable.h"
 // UE
 #include "EngineUtils.h"
+#include "Engine/World.h"
 #include "Kismet/GameplayStatics.h"
 
 // rclUE
@@ -126,7 +127,6 @@ bool ASimulationState::ReferenceFrameToInertiaFrame(const FString& InReferenceFr
                                                     FQuat& OutOrientation)
 {
     bool bSuccess = false;
-
     LeftToRight(OutPositionX, OutPositionY, OutPositionZ, OutOrientation);
     if (InReferenceFrame.IsEmpty())
     {
@@ -186,7 +186,7 @@ void ASimulationState::SetEntityStateSrv(UROS2GenericSrv* Service)
         {
             Response.success = false;
             UE_LOG(LogTemp, Warning, 
-                    TEXT("Entity %s not exit or not under SimulationState control. Please call AddEntity to make Actors under SimulationState contorl."), 
+                    TEXT("Entity %s not exit or not under SimulationState control. Please call AddEntity to make Actors under SimulationState control."),
                     *Request.state_name);                                
         }
     }
@@ -222,7 +222,7 @@ void ASimulationState::AttachSrv(UROS2GenericSrv* Service)
     else
     {
         UE_LOG(LogTemp, Warning, 
-                TEXT("Entity %s and/or %s not exit or not under SimulationState Actor control. Please call AddEntity to make Actors under SimulationState contorl."),
+                TEXT("Entity %s and/or %s not exit or not under SimulationState Actor control. Please call AddEntity to make Actors under SimulationState control."),
                 *Request.name1, *Request.name2);
     }
 
@@ -236,14 +236,14 @@ void ASimulationState::SpawnEntitySrv(UROS2GenericSrv* Service)
     FROSSpawnEntity_Request Request;
     SpawnEntityService->GetRequest(Request);
 
-    UE_LOG(LogTemp, Warning, TEXT("SpawnEntityService called"));
-
     FROSSpawnEntity_Response Response;
+
     Response.success = ReferenceFrameToInertiaFrame(Request.state_reference_frame,
                                                     Request.state_pose_position_x,
                                                     Request.state_pose_position_y,
                                                     Request.state_pose_position_z,
                                                     Request.state_pose_orientation);
+
     if (Response.success)
     {
         if (SpawnableEntities.Contains(Request.xml))
@@ -254,17 +254,31 @@ void ASimulationState::SpawnEntitySrv(UROS2GenericSrv* Service)
             UE_LOG(LogTemp, Warning, TEXT("Spawning %s"), *Request.xml);
             Response.success = true;
 
-            FActorSpawnParameters SpawnParameters;
-            SpawnParameters.Name = FName(Request.state_name);
             FRotator Rotator = Request.state_pose_orientation.Rotator();
             FVector Position(Request.state_pose_position_x, Request.state_pose_position_y, Request.state_pose_position_z);
-            AActor* NewEntity = GetWorld()->SpawnActor(SpawnableEntities[Request.xml], &Position, &Rotator, SpawnParameters);
+            FVector Scale(1, 1, 1);
+            FTransform Transform(Rotator, Position, Scale);
+
+            AActor* NewEntity = GetWorld()->SpawnActorDeferred<AActor>(SpawnableEntities[Request.xml], Transform);
+            UROS2Spawnable* SpawnableComponent = NewObject<UROS2Spawnable>(NewEntity, FName("ROS2 Spawn Parameters"));
+
+            SpawnableComponent->RegisterComponent();
+            SpawnableComponent->InitializeParameters(Request);
+            NewEntity->AddInstanceComponent(SpawnableComponent);
+#if WITH_EDITOR
+            NewEntity->SetActorLabel(*Request.state_name);
+#endif
+            NewEntity->Rename(*Request.state_name);
+
+            UGameplayStatics::FinishSpawningActor(NewEntity, Transform);
             AddEntity(NewEntity);
+
+            UE_LOG(LogTemp, Warning, TEXT("New Spawned Entity Name: %s"), *NewEntity->GetName());
         }
         else
         {
             UE_LOG(LogTemp, Warning,
-                TEXT("Entity %s not exit or not under SimulationState Actor control. Please call AddEntity to make Actors under SimulationState contorl."), 
+                TEXT("Entity %s not exit or not under SimulationState Actor control. Please call AddEntity to make Actors under SimulationState control."),
                 *Request.xml);
         }
     }
@@ -272,6 +286,7 @@ void ASimulationState::SpawnEntitySrv(UROS2GenericSrv* Service)
     SpawnEntityService->SetResponse(Response);
 }
 
+
 void ASimulationState::DeleteEntitySrv(UROS2GenericSrv* Service)
 {
     UROS2DeleteEntitySrv* DeleteEntityService = Cast<UROS2DeleteEntitySrv>(Service);
diff --git a/Source/RapyutaSimulationPlugins/Public/Tools/ROS2Spawnable.h b/Source/RapyutaSimulationPlugins/Public/Tools/ROS2Spawnable.h
new file mode 100644
index 000000000..4b82afe0a
--- /dev/null
+++ b/Source/RapyutaSimulationPlugins/Public/Tools/ROS2Spawnable.h
@@ -0,0 +1,42 @@
+// Copyright 2020-2021 Rapyuta Robotics Co., Ltd.
+
+#pragma once
+#include "CoreMinimal.h"
+#include "GameFramework/Actor.h"
+
+// rclUE
+#include "Srvs/ROS2SpawnEntitySrv.h"
+
+#include "ROS2Spawnable.generated.h"
+
+UCLASS(ClassGroup = (Custom), Blueprintable, meta = (BlueprintSpawnableComponent))
+class RAPYUTASIMULATIONPLUGINS_API UROS2Spawnable : public UActorComponent
+{
+    GENERATED_BODY()
+
+public:
+
+    UPROPERTY(EditAnywhere, BlueprintReadWrite)
+    FString ActorName;
+
+    UPROPERTY(EditAnywhere, BlueprintReadWrite)
+    FString ActorNamespace;
+
+public:
+
+    UFUNCTION(BlueprintCallable)
+    virtual void InitializeParameters(FROSSpawnEntity_Request Request);
+
+    UFUNCTION(BlueprintCallable)
+    virtual void SetName(FString Name);
+
+    UFUNCTION(BlueprintCallable)
+    virtual void SetNamespace(FString Namespace);
+
+    UFUNCTION(BlueprintCallable)
+    virtual FString GetName();
+
+    UFUNCTION(BlueprintCallable)
+    virtual FString GetNamespace();
+
+};