Files
cdtestplant_v1/apps/project/controllers/__pycache__/testDemand.cpython-313.pyc

73 lines
17 KiB
Plaintext
Raw Normal View History

2025-04-29 18:09:00 +08:00
<EFBFBD>
!<21>h<>6<00><00>d<00>SSKJrJrJr SSKJr SSKJr SSKJ r SSK
J r SSK J r SSKJr SSKJr SS KJr SS
KJr SS KJr SS KJr SS KJr SSKJrJrJrJ r J!r!J"r" SSK#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r- SSKJ.r. SSK/J0r0 SSK1J2r2 SSK3J4r4 \"S\"5\ /S/S9"SS\55r5g)<1A>)<03>api_controller<65>ControllerBase<73>route)<01>Query)<01>JWTAuth)<01>IsAuthenticated)<01>paginate)<01> HttpError)<01> MyPagination)<01> transaction)<01>get_object_or_404)<01>List)<01> ChenResponse)<01>multi_delete_testDemand)<01>HTTP_INDEX_ERROR)<06>Design<67>Dut<75>Round<6E>
TestDemand<EFBFBD>TestDemandContent<6E>TestDemandContentStep)
<EFBFBD> DeleteSchema<6D>TestDemandModelOutSchema<6D>TestDemandFilterSchema<6D>TestDemandTreeReturnSchema<6D>TestDemandTreeInputSchema<6D>TestDemandCreateOutSchema<6D>TestDemandCreateInputSchema<6D>TestDemandRelatedSchema<6D>TestDemandExistRelatedSchema<6D>DemandCopyToDesignSchema)<01>Project)<01>demand_copy_to_design)<01>demand_delete_sub_node_key)<01>conditionNoneToBlankz/projectu测试项接口)<03>auth<74> permissions<6E>tagsc<00><><00>\rSrSr\R
"S\\SSS9\R\
"\ 5\ "S54S\ 4Sjj555r\R
"S \S
S 9\RS \S \4Sj55r\R
"S\\SS 9\R\ "S54S\4Sjj55r\R*"S\SS 9\RS\4Sj55r\R2"S\SS 9\RS\S\4Sj55r\R6"SSS9\RS\4Sj55r\R
"SS S9\RS\S!\4S"j55r\R*"S#S$S9\RS\4S%j55r \R*"S&S'S9\RS\!4S(j55r"\R*"S)S*S9\RS\#4S+j55r$S,r%g-).<2E>TestDemandController<65>z/getTestDemandListTztestDemand-list)<03>response<73> exclude_none<6E>url_name.<2E>
datafilterc <00>j<00>[U5 SRURSURSUR/5n[
R RURUURURURURS9RS5n/nUH<>n/nURR5HGn[!USUR"R5R%55 UR'U5 MI [!USU5 UR'U5 M<> U$)N<><00>-)<06> project__id<69> design__key<65>ident__icontains<6E>name__icontains<6E>testType__contains<6E>priority__icontains<6E>key<65>subStep<65> testContent)r%<00>join<69>round_id<69>dut_id<69> design_idr<00>objects<74>filter<65>
project_id<EFBFBD>ident<6E>name<6D>testType<70>priority<74>order_by<62>
testQField<EFBFBD>all<6C>setattr<74> testStepField<6C>values<65>append)<08>selfr/<00>
design_key<EFBFBD>qs<71>
query_list<EFBFBD> query_single<6C>sub_list<73>step_objs <20>HE:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py<70>get_test_demand_list<73>)TestDemandController.get_test_demand_lists<00><00>
<1D>Z<EFBFBD>(<28><17>W<EFBFBD>W<EFBFBD>j<EFBFBD>1<>1<>3<EFBFBD>
<EFBFBD>8I<EFBFBD>8I<EFBFBD>3<EFBFBD>PZ<EFBFBD>Pd<EFBFBD>Pd<EFBFBD>e<>f<>
<EFBFBD> <17> <1F> <1F> &<26> &<26>:<3A>3H<33>3H<33>V`<60>8B<38>8H<38>8H<38>7A<37><EFBFBD><EFBFBD>:D<>:M<>:M<>;E<>;N<>;N<> '<27>P<01>QY<01>PX<50>Y^<5E>P_<50> <0B> <18>
<EFBFBD><1E>L<EFBFBD><19>H<EFBFBD>(<28>3<>3<>7<>7<>9<><08><17><08>)<29>X<EFBFBD>-C<>-C<>-G<>-G<>-I<>-P<>-P<>-R<>S<><18><0F><0F><08>)<29>:<3A> <14>L<EFBFBD>-<2D><18> :<3A> <16> <1D> <1D>l<EFBFBD> +<2B><1F><1A><19>z/getTestDemandOneztestDemand-one)r,r.rBr9c<00>j<00>[RRXS9R5nU(av/nURR 5HGn[ USURR 5R55 URU5 MI [ USU5 U$[SS5e)N)rBr9r:r;<00><>u未找到相应的数据) rr@rA<00>firstrHrIrJrKrLrMr
)rNrBr9<00> demand_qsrSrTs rU<00>get_test_demand_one<6E>(TestDemandController.get_test_demand_one3s<><00><00><1F>&<26>&<26>-<2D>-<2D><1A>-<2D>M<>S<>S<>U<> <09> <14><19>H<EFBFBD>%<25>0<>0<>4<>4<>6<><08><17><08>)<29>X<EFBFBD>-C<>-C<>-G<>-G<>-I<>-P<>-P<>-R<>S<><18><0F><0F><08>)<29>7<> <14>I<EFBFBD>}<7D>h<EFBFBD> 7<><1C> <1C><17><03>7<>8<>8rXz/getTestdemandInfoztestDemand-info<66>payloadc<00>j<00>[RRURURS9nU$)N<>r3r4)rr@rArBr9)rNr_rPs rU<00>get_testDemand_tree<65>(TestDemandController.get_testDemand_treeAs1<00><00><18> <1F> <1F> &<26> &<26>7<EFBFBD>3E<33>3E<33>SZ<53>S^<5E>S^<5E> &<26> _<><02><11> rXz/testDemand/saveztestDemand-createc<00>R<00>URSS9n[RRURS9R 5nUR (aJU(aCURRUR S9R5nU(a [SSSS9$SRURS URS UR/5n[RRURUS
9R5nSRUS [!U5/5n["RR%URURS 9n[&RR%URSRURS UR/5S 9n [(RR%URSRURS URS UR/5S 9n
UR+XxX<78>UR,S .5 UR/S 5 UR/S5 UR/S5 UR/S5 [RR0"S0UD6n UR5SH<>n [2RR1U U SS9n [4RR7U SVs/sH5n[5SSU 0[9U[5(dUR5OUD6PM7 sn5 M<> U $s snf)NT)r-<00><01>id<69>rCrZuE测试项标识和其他测试项重复,请更换测试项标识!!!<21><03>code<64>status<75>messager1r2ra)r3r9)r9<00>round<6E>dut<75>design<67>title<6C> round_key<65>dut_keyrOr;<00>subName<6D><02>
testDemandrrr:<00>testDemandContent<6E>)<1D>dictr"r@rArBr[rC<00>ptField<6C>existsrr<rprqrOr<00>count<6E>strr<00>getrr<00>updaterD<00>pop<6F>createrr<00> bulk_create<74>
isinstance)rNr_<00>
asert_dict<EFBFBD>
project_qsryrO<00>test_demand_count<6E>
key_string<EFBFBD>round_instance<63> dut_instance<63>design_instancerP<00>item<65> content_obj<62>steps rU<00>create_test_demand<6E>'TestDemandController.create_test_demandHs<><00><00><1D>\<5C>\<5C>t<EFBFBD>\<5C>4<>
<EFBFBD><1C>_<EFBFBD>_<EFBFBD>+<2B>+<2B>w<EFBFBD>/A<>/A<>+<2B>B<>H<>H<>J<>
<EFBFBD> <12>=<3D>=<3D>Z<EFBFBD><1F>'<27>'<27>.<2E>.<2E>W<EFBFBD>]<5D>]<5D>.<2E>C<>J<>J<>L<>F<EFBFBD><15>#<23><13>S<EFBFBD>CJ<02>K<02>K<02><17>W<EFBFBD>W<EFBFBD>g<EFBFBD>/<2F>/<2F><13>g<EFBFBD>o<EFBFBD>o<EFBFBD>s<EFBFBD>G<EFBFBD>L^<5E>L^<5E>_<>`<60>
<EFBFBD>&<26>.<2E>.<2E>5<>5<>'<27>BT<42>BT<42>bl<62>5<>m<>s<>s<>u<><19><17>W<EFBFBD>W<EFBFBD>j<EFBFBD>#<23>s<EFBFBD>3D<33>/E<>F<>G<>
<EFBFBD><1E><1D><1D>*<2A>*<2A>w<EFBFBD>7I<37>7I<37>w<EFBFBD>O`<60>O`<60>*<2A>a<><0E><1A>{<7B>{<7B><EFBFBD><EFBFBD>7<EFBFBD>3E<33>3E<33>+-<2D>7<EFBFBD>7<EFBFBD>G<EFBFBD>4E<34>4E<34>s<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD>3\<5C>+]<5D>'<27>_<01> <0C> <20>.<2E>.<2E>,<2C>,<2C><17>9K<39>9K<39>QS<51>QX<51>QX<51> <14> <1E> <1E><03>W<EFBFBD>_<EFBFBD>_<EFBFBD>c<EFBFBD>7<EFBFBD>;M<>;M<> N<>RP<01>,<2C>Q<01><0F><12><19><19>*<2A>l<EFBFBD>$+<2B>L<EFBFBD>L<EFBFBD>2<> 3<><12><0E><0E>{<7B>#<23><12><0E><0E>y<EFBFBD>!<21><12><0E><0E>|<7C>$<24><12><0E><0E>}<7D>%<25><18> <1F> <1F> &<26> &<26> 4<><1A> 4<><02><1B>L<EFBFBD>L<EFBFBD>N<EFBFBD>=<3D>1<>D<EFBFBD>+<2B>3<>3<>:<3A>:<3A><1D><1C>Y<EFBFBD><0F>;<3B><0E>K<EFBFBD> "<22> )<29> )<29> 5<> 5<>
!<21><19>O<EFBFBD> 7<0E>
,<2C>D<EFBFBD> &<26><12>&1<><12>)3<>D<EFBFBD>$<24>)?<3F>)?<3F>d<EFBFBD>i<EFBFBD>i<EFBFBD>k<EFBFBD>T<EFBFBD><12>,<2C> 7<0E> <0F> 2<><12> <09><>7s<00><L$
z/testDemand/update/{id}ztestDemand-updaterfc<00>@<00>[[URS9n[RR US9nUR nUR5R5GHbupgUS:XaUUR U:waEURRUR S9R5nU(a [SSSS9s $US:XdUS:Xd US :XdUS
:XaM{US :Xa [US U5 US :XdM<>URR5n U Hn
U
R!5 M UH<>n U S(dM["RR%UU SS9n [&RR)U SV s/sH5n ['SSU 0[+U [5(dU R5OU D6PM7 sn 5 M<> GMe UR U:waBUR,R5H$nUR UlUR/5 M& U$s sn f)NrerCrgrZu'更换的标识和其他测试项重复rhrBrprqrOrDror;rrrsr:rurv)r r"rBrr@r|rCrw<00>itemsrxrAryrrJrHrI<00>deleterrrr<>r<><00>tcField<6C>save)rNrfr_r<><00> testDemand_qs<71> old_ident<6E>attr<74>valuery<00> content_list<73>content_singler<65>r<>r<><00>cases rU<00>update_testDemand<6E>&TestDemandController.update_testDemandus<><00><00>'<27>w<EFBFBD>7<EFBFBD>3E<33>3E<33>F<>
<EFBFBD>"<22>*<2A>*<2A>.<2E>.<2E>"<22>.<2E>5<> <0A>!<21>'<27>'<27> <09>"<22><<3C><<3C>><3E>/<2F>/<2F>1<>K<EFBFBD>D<EFBFBD><13>w<EFBFBD><EFBFBD> <20>&<26>&<26>%<25>/<2F>'<27>/<2F>/<2F>6<>6<>W<EFBFBD>]<5D>]<5D>6<>K<>R<>R<>T<>F<EFBFBD><1D>+<2B><13>S<EFBFBD>Js<4A>t<>t<><13>|<7C>#<23>t<EFBFBD>{<7B>':<3A>d<EFBFBD>i<EFBFBD>>O<>SW<53>[g<>Sg<53><18><13>v<EFBFBD>~<7E><17> <0A>w<EFBFBD><05>6<><13>}<7D>$<24>,<2C>7<>7<>;<3B>;<3B>=<3D> <0C>&2<>N<EFBFBD>"<22>)<29>)<29>+<2B>'3<>"<22>D<EFBFBD><1B>I<EFBFBD><EFBFBD><EFBFBD>&7<>&?<3F>&?<3F>&F<>&F<>'4<>$(<28><19>O<EFBFBD>'G<01>'<1A> <0B>.<2E>5<>5<>A<>A<>
)-<2D>Y<EFBFBD><0F> C<1A>
)8<><04> 2<><1E>2=<3D><1E>5?<3F><04>d<EFBFBD>5K<35>5K<35>$<24>)<29>)<29>+<2B>QU<51><1E>)8<> C<1A><1B>"<22>%2<>B <19> <1E> <1E>)<29> +<2B>%<25>-<2D>-<2D>1<>1<>3<><04>*<2A>0<>0<><04>
<EFBFBD><14> <09> <09> <0B>4<><1D><1C><>Cs<00>;<H z/testDemand/deleteztestDemand-delete)r.<00>datac<00>.<00>[RRURSS9SnURRnURRn[UR[5 Sn[RRUS9RS5nUHFnSRUS [U5/5nX<>l US
-nUR5 [U5 MH [ S S 9$![a [ S[ SS9s$f=f) NrrerZu!您未选择需要删除的内容<E58685>rjrirk)<01>
design__idrfr1r2<00>u测试需求删除成功!)rk)rr@rA<00>ids<64>
IndexErrorrrrnrfr9rrGr<r{r<>r$) rNr<><00>test_demand_singler?rO<00>index<65>test_demand_all_qs<71> single_qs<71>test_demand_keys rU<00>delete_testDemand<6E>&TestDemandController.delete_testDemand<6E>s<00><00> p<01>!+<2B>!3<>!3<>!:<3A>!:<3A>d<EFBFBD>h<EFBFBD>h<EFBFBD>q<EFBFBD>k<EFBFBD>!:<3A>!J<>1<EFBFBD>!M<> <1E>'<27>-<2D>-<2D>0<>0<> <09>'<27>.<2E>.<2E>2<>2<>
<EFBFBD><1F><04><08><08>*<2A>5<><11><05>'<27>/<2F>/<2F>6<>6<>)<29>6<>L<>U<>U<>VZ<56>[<5B><1A>+<2B>I<EFBFBD> <20>g<EFBFBD>g<EFBFBD>z<EFBFBD>3<EFBFBD><03>E<EFBFBD>
<EFBFBD>&C<>D<>O<EFBFBD>+<2B>M<EFBFBD><19>A<EFBFBD>I<EFBFBD>E<EFBFBD> <15>N<EFBFBD>N<EFBFBD> <1C> &<26>y<EFBFBD> 1<> ,<2C> <1C>$A<>B<>B<><42><1A> p<01><1F>s<EFBFBD>1A<31>Kn<4B>o<> o<> p<01>s<00>-C8<00>8D<03>Dz /testDemand/getRelatedTestDemandztestDemand-getRelatedTestDemandrlc<00><><00>[[US9nURRUS9R 5nUR
R 5n/nUH|nURUR/S.nURR 5H0n U RU RS.n
USRU
5 M2 URU5 M~ [SUS9$)Nre<00>r9)<03>labelr<6C><00>children)r<>r<>r<>u 获取成功)rkr<>) r r"<00>pFieldrAr[<00>dsFieldrIrDrf<00>dtFieldrMr) rNrfrlr<><00>round_qs<71>designs<6E> data_listrn<00> design_dict<63> test_item<65>test_item_dicts rU<00>getRelatedTestDemand<6E>)TestDemandController.getRelatedTestDemand<6E>s<><00><00>'<27>w<EFBFBD>2<EFBFBD>6<>
<EFBFBD><1D>$<24>$<24>+<2B>+<2B><05>+<2B>6<><<3C><<3C>><3E><08><1A>"<22>"<22>&<26>&<26>(<28><07><16> <09><1D>F<EFBFBD>$*<2A>K<EFBFBD>K<EFBFBD>&<26>)<29>)<29>QS<51>T<>K<EFBFBD>#<23>^<5E>^<5E>/<2F>/<2F>1<> <09>+4<>><3E>><3E>I<EFBFBD>L<EFBFBD>L<EFBFBD>!Q<><0E><1B>J<EFBFBD>'<27>.<2E>.<2E>~<7E>><3E>2<> <16> <1C> <1C>[<5B> )<29> <1E> <1C>N<EFBFBD><19>C<>CrXz"/testDemand/solveRelatedTestDemandz!testDemand-solveRelatedTestDemandc<00>J<00>URnUVs/sHo3PM nn[[URS9nSR UR
UR UR/5nURRUS9R5nU(GasUHGnURR5H&n U RU:XdMURU5 M( MI [U5Ss=::a[U5:aO O [!SSSS9$UR"R%S 5Hbn
U
R'S S5n X<>;dM[(R*RU S9R5n UR"RU 5 Md UHqn UR"RU S9n[U5S::dM-UR"R-[(R*RU S9R55 Ms O [!SSS
S9$[!SSS S9$s snf) Nrer2r<>ri<><00><>uK选择的测试项全部存在于当前设计需求中,请重新选择...r<>rfu$设计需求不存在,请检查...u添加关联测试项成功...)r<>r r"rBr<rprqrO<00>psFieldrAr[r<>rI<00>pk<70>remove<76>lenr<00>odFieldrLr|rr@<00>add)rNr<><00> test_item_ids<64>x<> non_exist_idsr<73><00>key_str<74> design_item<65>test_id<69>tir<69><00>item_id<69> test_item_obj<62> test_item_id<69>
test_itemss rU<00>solveRelatedTestDemand<6E>+TestDemandController.solveRelatedTestDemand<6E>s<><00><00><1D> <09> <09> <0A>$1<>2<>M<EFBFBD>q<EFBFBD><11>M<EFBFBD> <0A>2<>&<26>w<EFBFBD>4<EFBFBD>?<3F>?<3F>C<>
<EFBFBD><15>(<28>(<28>D<EFBFBD>N<EFBFBD>N<EFBFBD>D<EFBFBD>L<EFBFBD>L<EFBFBD>$<24>/<2F>/<2F>J<>K<><07> <20>(<28>(<28>/<2F>/<2F>G<EFBFBD>/<2F><<3C>B<>B<>D<> <0B> <16>(<28><07>%<25>-<2D>-<2D>1<>1<>3<>B<EFBFBD><19>u<EFBFBD>u<EFBFBD><07>'<27>%<25>,<2C>,<2C>W<EFBFBD>5<>4<>)<29><13>=<3D>!<21>Q<EFBFBD>;<3B><13>]<5D>);<3B>;<3B>#<23>3<EFBFBD>S<EFBFBD>CP<02>Q<02>Q<02>#<23>+<2B>+<2B>2<>2<>4<EFBFBD>8<><04><1E>(<28>(<28>4<EFBFBD><14>.<2E><07><1E>/<2F>$.<2E>$6<>$6<>$=<3D>$=<3D><17>$=<3D>$I<>$O<>$O<>$Q<>M<EFBFBD><1F>'<27>'<27>.<2E>.<2E>}<7D>=<3D> 9<>
!.<2E> <0C>(<28>0<>0<>7<>7<><<3C>7<>H<>
<EFBFBD><16>z<EFBFBD>?<3F>a<EFBFBD>'<27><1F>'<27>'<27>+<2B>+<2B>J<EFBFBD>,><3E>,><3E>,E<>,E<><1C>,E<>,V<>,\<5C>,\<5C>,^<5E>_<> !.<2E>  <20>s<EFBFBD><13>>d<>e<> e<><1B>3<EFBFBD>S<EFBFBD>:Z<>[<5B>[<5B><>33s<00> H z%/testDemand/getExistRelatedTestDemandz$testDemand-getExistRelatedTestDemandc<00>r<00>[[URS9nSRURUR
UR /5nURRUS9R5n/nU(a<URR5HnURUR5 M U$)Nrer2r<>)r r"rBr<rprqrOr<>rAr[r<>rIrMrf)rNr<>r<>r<>r<>r<>r<>s rU<00>getExistRelatedTestDemand<6E>.TestDemandController.getExistRelatedTestDemand<6E>s<><00><00>'<27>w<EFBFBD>4<EFBFBD>?<3F>?<3F>C<>
<EFBFBD><15>(<28>(<28>D<EFBFBD>N<EFBFBD>N<EFBFBD>D<EFBFBD>L<EFBFBD>L<EFBFBD>$<24>/<2F>/<2F>J<>K<><07> <20>(<28>(<28>/<2F>/<2F>G<EFBFBD>/<2F><<3C>B<>B<>D<> <0B><10><03> <16>#<23>+<2B>+<2B>/<2F>/<2F>1<><04><13>
<EFBFBD>
<EFBFBD>4<EFBFBD>7<EFBFBD>7<EFBFBD>#<23>2<><12>
rXz/testDemand/copy_to_designztestDemand-copyc<00><><00>[URURURUR5n[ SU0S9$)u6前端测试项右键复制到某个设计需求下面r9)r<>)r#rB<00>
demand_keyr?<00>depthr)rNr<><00>new_demand_keys rU<00>copy_to_design<67>#TestDemandController.copy_to_design<67>s:<00><00>/<2F>t<EFBFBD><EFBFBD><EFBFBD><04><0F><0F>QU<51>Q_<51>Q_<51>ae<61>ak<61>ak<61>l<><0E><1B>%<25><1E>!8<>9<>9rXrvN)&<26>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__rr|rrr <00>atomicr r rrrV<00>intr{r]rrrb<00>postrrr<><00>putr<74>r<>rr<>r<>rr<>r r<>r!r<><00>__static_attributes__rvrXrUr*r*s<><00><00>
<EFBFBD>Y<EFBFBD>Y<EFBFBD>#<23>d<EFBFBD>3K<33>.L<>[_<>)<29>+<2B><10><17><17> <0A>l<EFBFBD><1B>HM<48>c<EFBFBD>
<EFBFBD><1A>/E<><1A><1C><18>+<2B><1A>( <0B>Y<EFBFBD>Y<EFBFBD>"<22>-E<>P`<60>a<><10><17><17> 9<>c<EFBFBD> 9<><03> 9<><18>b<01> 9<> <0B>Y<EFBFBD>Y<EFBFBD>#<23>d<EFBFBD>3M<33>.N<>Yj<59>k<><10><17><17>GL<47>S<EFBFBD>z<EFBFBD><12>+D<><12><18>l<01><12>
 <0B>Z<EFBFBD>Z<EFBFBD>"<22>-F<>Qd<51>e<><10><17><17>(<12>*E<>(<12><18>f<01>(<12>V <0B>Y<EFBFBD>Y<EFBFBD>(<28>3L<33>Wj<57>k<><10><17><17>*<1D>C<EFBFBD>*<1D>2M<32>*<1D><18>l<01>*<1D>Z <0B>\<5C>\<5C>&<26>1D<31>E<><10><17><17>C<01>l<EFBFBD>C<01><18>F<01>C<01>( <0B>Y<EFBFBD>Y<EFBFBD>1<><]<5D>^<5E><10><17><17> D<01>s<EFBFBD> D<01>3<EFBFBD> D<01><18>_<01> D<01> <0B>Z<EFBFBD>Z<EFBFBD>4<>?b<>c<><10><17><17>\<01>+B<>\<01><18>d<01>\<01>< <0B>Z<EFBFBD>Z<EFBFBD>7<>Bh<42>i<><10><17><17><13>.J<><13><18>j<01><13> <0B>Z<EFBFBD>Z<EFBFBD>,<2C>7H<37>I<><10><17><17>:<3A>#;<3B>:<3A><18>J<01>:rXr*N)6<> ninja_extrarrr<00>ninjar<00>ninja_jwt.authenticationr<00>ninja_extra.permissionsr<00>ninja.paginationr <00> ninja.errorsr
<00>utils.chen_paginationr <00> django.dbr <00>django.shortcutsr <00>typingr<00>utils.chen_responser<00>utils.chen_crudr<00> utils.codesr<00>apps.project.modelsrrrrrr<00>apps.project.schemas.testDemandrrrrrrrrr r!r"<00>apps.project.tools.copyDemandr#<00>$apps.project.tools.delete_change_keyr$<00>utils.smallTools.interfaceToolsr%r*rvrXrU<00><module>r<>s<><00><01>=<3D>=<3D><17>,<2C>3<>%<25>"<22>.<2E>!<21>.<2E><17>,<2C>3<>(<28>h<>h<>T<01>T<01>T<01>(<28>?<3F>K<>@<40><0F>
<EFBFBD><17><19><1F>8I<38>Qb<51>Pc<50>d<>c:<3A>><3E>c:<3A>e<01>c:rX