From 5887baef73a24dcf07d1669ec898557849981297 Mon Sep 17 00:00:00 2001 From: quanli Date: Mon, 28 Nov 2022 04:29:01 +0800 Subject: [PATCH] quanli1@huawei.com Signed-off-by: quanli --- .../signature/openharmony_sx.p7b | Bin 3443 -> 3647 bytes .../bluetooth_on/signature/openharmony_sx.p7b | Bin 3443 -> 3647 bytes .../src/main/js/test/BluetoothPair.test.js | 6 +- .../signature/openharmony_sx.p7b | Bin 3443 -> 3647 bytes .../src/main/js/test/BluetoothHid.test.js | 249 -------------- .../src/main/js/test/List.test.js | 2 - .../signature/openharmony_sx.p7b | Bin 3443 -> 3647 bytes .../signature/openharmony_sx.p7b | Bin 3443 -> 3573 bytes .../nfc_Controller/src/main/config.json | 324 ++++++------------ .../src/main/js/test/nfc.Controller.js | 30 +- .../wifi_p2p/signature/openharmony_sx.p7b | Bin 3443 -> 4062 bytes .../js/test/WifiManagerP2PFunction.test.js | 4 +- .../signature/openharmony_sx.p7b | Bin 3443 -> 4062 bytes .../signature/openharmony_sx.p7b | Bin 4375 -> 3833 bytes 14 files changed, 110 insertions(+), 505 deletions(-) delete mode 100644 communication/bluetooth_profile/src/main/js/test/BluetoothHid.test.js diff --git a/communication/bluetooth_ble/signature/openharmony_sx.p7b b/communication/bluetooth_ble/signature/openharmony_sx.p7b index 66b4457a8a81fb8d3356cf46d67226c850944858..5f165bc5913d474d4e5bd0e5a2f3b492f5087a63 100644 GIT binary patch delta 1324 zcmaJ>&u<$=6s}z-C8230%87so?gg5}UORSdhX$D0U*7eO?Op#^uW>2s^=AEJz3X^w zPwXHWq{|NN_+xtdr74AaR@b%{Skh`QE(u z+cRH0J0|uny*xX2Z9lpH$AagA_i*phiVMBy^>{)H#FMjgZ|)~O`gxz%L+s5QKPGw( z_h!EF?ah3(>mTS{r(s*GmfF_+8~$*B2oV02N3dqsTsXYqS38~6TEppe8`XYqdZ0J# z=m$qnA2b68KU}{&jojm1-PBb__fIZ*n!Ge3NuaG80CNx+99?314JHp#&@i^^t!5@G ziWF$VCK4S?iV9T}MV7`qm2c98iiIG@f>41b4J=GX-o=*?O($?!j&e$g?^VOmD91>q zA`?3miyMJDG}1)~5Mo=CBk%KLIt>wwl&Cy6M0pOUn;=rL(v*ggX;0D7Kj=dYs}wCD z&^pNp>xdMI$PPn++^MdONFsqN*4g|>YGDSS+*_a^%xY}0pJSO}RZjHBdJY!KGSfpj z1M|iSiK1X4Td~g4To%-l&{5@dy~dh@Y6IrV@{XyL(k5bBn8r#nWtX{8lOTbpaMN|g zaw7_e8YLQljs_)um>URiorv^#xxOB^hGJ`ZTv7@VInEa1qc9Vq6eSbg$}ur02wP=Q zt5~>I%Nq7D2!v=P7$ia?XUiN$`I6Kxw<84ClD5-b*Gin6)7q2AOvoy4ILnerUut|QABQufz6Vn z!ve9uK#V8^4VF5IMc52Eq+uBlV39*WabHiTfCw;YoVwt8KvyjHYf)tka2aq|t*MCy z$H#bQ6qCnhO-w;qZ=^M+x)WsV8XAO`aXzjYMMGs0+tGD{8_2PW6)iQ^hWv78P|GIW z->5NLLcSx2*%q6P=Q3LzGZZcstTNlmtTiINOi?H@JA)7h6v=i-sokwuJ1}lrPF_+* zG^~e}&5E_UI(gf7?G?LjI{{VeIRVXXxBFH@Q>U#HsG5DfXWPB{9&a{04g&cho3I#f!$>fu+(7*Q) zNCWo&DHN9@GeufDtF!nYAt6J8JeNuPZ+!Z@Z{xx|Aoe_)?z|yd6Lm(Pe0UL#Lt$c_ zh(}_?TA2tw8ai{nkl(iy-Ij@WBJ;*ysW-0v`PSX;yYGKQ{CK7J^S#uqt<8 delta 1101 zcmZ9LL5Sm20ERc+&Wtn5>t7l1^XKv`O34ikqZqGHse< znsk!s94bWyyof_xSUk9M5QJq>RMwNQE}|zD4<5a&hxH;XvI`0-n3j;3I(P0r5IdaC zor+K6f9)l9^r5%q*w1TDM^C&+teyzAGKho(k;Ieu!8^n`f7d-a4|PjdJUww>UOKq_ z((Ei|PSBVnfvOuI;2Z9wd(cHgKob+bLO zRgvx?l0L>jh?M_hLK6lmWA)@_)m76OL%`{PHMKJ8(E;j#-N=NUheu#P~ zJkfg4L4p^M!m&w)4vLi6qa_5n;~(cq6P4Qb>`UwdCeD7so|tS>VDK;`65BS5=Yv)w z%gN26ucotEjxGcm6S{J`fGbf*u28hpD2SGpf`$l0XlVb|#=)Zs+xEi}5rjdR1VB_} zo)iSPk?nT+GF#4Mckt#KV3m+a_bRYMPbkMLRJj(RHwPgvk84cZE(WOUv8E*DaXM#l zxY(3ic6neR!gF>;sxE8;(IL1%qCoe^I$J|DLxF|?Mb#W?TW!1GOC?7dt*zDS>!U7R z=qj9F9RvQD7IF}Db2J2qgqaBl*rTqhI1iyr7b<=@9GOn45O^AoEH z#kHboc)Omj4_?=tp+1|Rd-}6)=GGUMAU?%jj`oQ6XRn;mXVx;D;AuREuM_FaS_@B| zjB+tfB;ps}c2|;1D|?TXHxf54y?OQ7yIQ diff --git a/communication/bluetooth_on/signature/openharmony_sx.p7b b/communication/bluetooth_on/signature/openharmony_sx.p7b index 66b4457a8a81fb8d3356cf46d67226c850944858..5f165bc5913d474d4e5bd0e5a2f3b492f5087a63 100644 GIT binary patch delta 1324 zcmaJ>&u<$=6s}z-C8230%87so?gg5}UORSdhX$D0U*7eO?Op#^uW>2s^=AEJz3X^w zPwXHWq{|NN_+xtdr74AaR@b%{Skh`QE(u z+cRH0J0|uny*xX2Z9lpH$AagA_i*phiVMBy^>{)H#FMjgZ|)~O`gxz%L+s5QKPGw( z_h!EF?ah3(>mTS{r(s*GmfF_+8~$*B2oV02N3dqsTsXYqS38~6TEppe8`XYqdZ0J# z=m$qnA2b68KU}{&jojm1-PBb__fIZ*n!Ge3NuaG80CNx+99?314JHp#&@i^^t!5@G ziWF$VCK4S?iV9T}MV7`qm2c98iiIG@f>41b4J=GX-o=*?O($?!j&e$g?^VOmD91>q zA`?3miyMJDG}1)~5Mo=CBk%KLIt>wwl&Cy6M0pOUn;=rL(v*ggX;0D7Kj=dYs}wCD z&^pNp>xdMI$PPn++^MdONFsqN*4g|>YGDSS+*_a^%xY}0pJSO}RZjHBdJY!KGSfpj z1M|iSiK1X4Td~g4To%-l&{5@dy~dh@Y6IrV@{XyL(k5bBn8r#nWtX{8lOTbpaMN|g zaw7_e8YLQljs_)um>URiorv^#xxOB^hGJ`ZTv7@VInEa1qc9Vq6eSbg$}ur02wP=Q zt5~>I%Nq7D2!v=P7$ia?XUiN$`I6Kxw<84ClD5-b*Gin6)7q2AOvoy4ILnerUut|QABQufz6Vn z!ve9uK#V8^4VF5IMc52Eq+uBlV39*WabHiTfCw;YoVwt8KvyjHYf)tka2aq|t*MCy z$H#bQ6qCnhO-w;qZ=^M+x)WsV8XAO`aXzjYMMGs0+tGD{8_2PW6)iQ^hWv78P|GIW z->5NLLcSx2*%q6P=Q3LzGZZcstTNlmtTiINOi?H@JA)7h6v=i-sokwuJ1}lrPF_+* zG^~e}&5E_UI(gf7?G?LjI{{VeIRVXXxBFH@Q>U#HsG5DfXWPB{9&a{04g&cho3I#f!$>fu+(7*Q) zNCWo&DHN9@GeufDtF!nYAt6J8JeNuPZ+!Z@Z{xx|Aoe_)?z|yd6Lm(Pe0UL#Lt$c_ zh(}_?TA2tw8ai{nkl(iy-Ij@WBJ;*ysW-0v`PSX;yYGKQ{CK7J^S#uqt<8 delta 1101 zcmZ9LL5Sm20ERc+&Wtn5>t7l1^XKv`O34ikqZqGHse< znsk!s94bWyyof_xSUk9M5QJq>RMwNQE}|zD4<5a&hxH;XvI`0-n3j;3I(P0r5IdaC zor+K6f9)l9^r5%q*w1TDM^C&+teyzAGKho(k;Ieu!8^n`f7d-a4|PjdJUww>UOKq_ z((Ei|PSBVnfvOuI;2Z9wd(cHgKob+bLO zRgvx?l0L>jh?M_hLK6lmWA)@_)m76OL%`{PHMKJ8(E;j#-N=NUheu#P~ zJkfg4L4p^M!m&w)4vLi6qa_5n;~(cq6P4Qb>`UwdCeD7so|tS>VDK;`65BS5=Yv)w z%gN26ucotEjxGcm6S{J`fGbf*u28hpD2SGpf`$l0XlVb|#=)Zs+xEi}5rjdR1VB_} zo)iSPk?nT+GF#4Mckt#KV3m+a_bRYMPbkMLRJj(RHwPgvk84cZE(WOUv8E*DaXM#l zxY(3ic6neR!gF>;sxE8;(IL1%qCoe^I$J|DLxF|?Mb#W?TW!1GOC?7dt*zDS>!U7R z=qj9F9RvQD7IF}Db2J2qgqaBl*rTqhI1iyr7b<=@9GOn45O^AoEH z#kHboc)Omj4_?=tp+1|Rd-}6)=GGUMAU?%jj`oQ6XRn;mXVx;D;AuREuM_FaS_@B| zjB+tfB;ps}c2|;1D|?TXHxf54y?OQ7yIQ diff --git a/communication/bluetooth_on/src/main/js/test/BluetoothPair.test.js b/communication/bluetooth_on/src/main/js/test/BluetoothPair.test.js index 36d232255..f81a29a43 100644 --- a/communication/bluetooth_on/src/main/js/test/BluetoothPair.test.js +++ b/communication/bluetooth_on/src/main/js/test/BluetoothPair.test.js @@ -75,7 +75,7 @@ describe('bluetoothhostTest2', function() { */ it('SUB_COMMUNICATION_BLUETOOTH_BR_Pair_0100', 0, async function (done) { let result = bluetooth.pairDevice("11:22:55:66:33:44"); - await sleep(12000); + await sleep(32000); console.info("[bluetooth_js] onStartpair001 -> " + JSON.stringify(result)); expect(result).assertTrue(); done() @@ -243,7 +243,7 @@ describe('bluetoothhostTest2', function() { } bluetooth.BLE.on('pinRequired', PinRequiredParam); let result = bluetooth.pairDevice("11:22:55:66:33:44"); - await sleep(12000); + await sleep(32000); console.info("[bluetooth_js] onStartpair007 -> " + JSON.stringify(result)); expect(result).assertTrue(); bluetooth.BLE.off('pinRequired', PinRequiredParam); @@ -266,7 +266,7 @@ describe('bluetoothhostTest2', function() { } bluetooth.BLE.on('pinRequired', PinRequiredParam); let result = bluetooth.pairDevice("11:22:55:66:33:44"); - await sleep(12000); + await sleep(32000); console.info("[bluetooth_js] onStartpair008 -> " + JSON.stringify(result)); expect(result).assertTrue(); bluetooth.BLE.off('pinRequired', PinRequiredParam); diff --git a/communication/bluetooth_profile/signature/openharmony_sx.p7b b/communication/bluetooth_profile/signature/openharmony_sx.p7b index 66b4457a8a81fb8d3356cf46d67226c850944858..5f165bc5913d474d4e5bd0e5a2f3b492f5087a63 100644 GIT binary patch delta 1324 zcmaJ>&u<$=6s}z-C8230%87so?gg5}UORSdhX$D0U*7eO?Op#^uW>2s^=AEJz3X^w zPwXHWq{|NN_+xtdr74AaR@b%{Skh`QE(u z+cRH0J0|uny*xX2Z9lpH$AagA_i*phiVMBy^>{)H#FMjgZ|)~O`gxz%L+s5QKPGw( z_h!EF?ah3(>mTS{r(s*GmfF_+8~$*B2oV02N3dqsTsXYqS38~6TEppe8`XYqdZ0J# z=m$qnA2b68KU}{&jojm1-PBb__fIZ*n!Ge3NuaG80CNx+99?314JHp#&@i^^t!5@G ziWF$VCK4S?iV9T}MV7`qm2c98iiIG@f>41b4J=GX-o=*?O($?!j&e$g?^VOmD91>q zA`?3miyMJDG}1)~5Mo=CBk%KLIt>wwl&Cy6M0pOUn;=rL(v*ggX;0D7Kj=dYs}wCD z&^pNp>xdMI$PPn++^MdONFsqN*4g|>YGDSS+*_a^%xY}0pJSO}RZjHBdJY!KGSfpj z1M|iSiK1X4Td~g4To%-l&{5@dy~dh@Y6IrV@{XyL(k5bBn8r#nWtX{8lOTbpaMN|g zaw7_e8YLQljs_)um>URiorv^#xxOB^hGJ`ZTv7@VInEa1qc9Vq6eSbg$}ur02wP=Q zt5~>I%Nq7D2!v=P7$ia?XUiN$`I6Kxw<84ClD5-b*Gin6)7q2AOvoy4ILnerUut|QABQufz6Vn z!ve9uK#V8^4VF5IMc52Eq+uBlV39*WabHiTfCw;YoVwt8KvyjHYf)tka2aq|t*MCy z$H#bQ6qCnhO-w;qZ=^M+x)WsV8XAO`aXzjYMMGs0+tGD{8_2PW6)iQ^hWv78P|GIW z->5NLLcSx2*%q6P=Q3LzGZZcstTNlmtTiINOi?H@JA)7h6v=i-sokwuJ1}lrPF_+* zG^~e}&5E_UI(gf7?G?LjI{{VeIRVXXxBFH@Q>U#HsG5DfXWPB{9&a{04g&cho3I#f!$>fu+(7*Q) zNCWo&DHN9@GeufDtF!nYAt6J8JeNuPZ+!Z@Z{xx|Aoe_)?z|yd6Lm(Pe0UL#Lt$c_ zh(}_?TA2tw8ai{nkl(iy-Ij@WBJ;*ysW-0v`PSX;yYGKQ{CK7J^S#uqt<8 delta 1101 zcmZ9LL5Sm20ERc+&Wtn5>t7l1^XKv`O34ikqZqGHse< znsk!s94bWyyof_xSUk9M5QJq>RMwNQE}|zD4<5a&hxH;XvI`0-n3j;3I(P0r5IdaC zor+K6f9)l9^r5%q*w1TDM^C&+teyzAGKho(k;Ieu!8^n`f7d-a4|PjdJUww>UOKq_ z((Ei|PSBVnfvOuI;2Z9wd(cHgKob+bLO zRgvx?l0L>jh?M_hLK6lmWA)@_)m76OL%`{PHMKJ8(E;j#-N=NUheu#P~ zJkfg4L4p^M!m&w)4vLi6qa_5n;~(cq6P4Qb>`UwdCeD7so|tS>VDK;`65BS5=Yv)w z%gN26ucotEjxGcm6S{J`fGbf*u28hpD2SGpf`$l0XlVb|#=)Zs+xEi}5rjdR1VB_} zo)iSPk?nT+GF#4Mckt#KV3m+a_bRYMPbkMLRJj(RHwPgvk84cZE(WOUv8E*DaXM#l zxY(3ic6neR!gF>;sxE8;(IL1%qCoe^I$J|DLxF|?Mb#W?TW!1GOC?7dt*zDS>!U7R z=qj9F9RvQD7IF}Db2J2qgqaBl*rTqhI1iyr7b<=@9GOn45O^AoEH z#kHboc)Omj4_?=tp+1|Rd-}6)=GGUMAU?%jj`oQ6XRn;mXVx;D;AuREuM_FaS_@B| zjB+tfB;ps}c2|;1D|?TXHxf54y?OQ7yIQ diff --git a/communication/bluetooth_profile/src/main/js/test/BluetoothHid.test.js b/communication/bluetooth_profile/src/main/js/test/BluetoothHid.test.js deleted file mode 100644 index 886e23607..000000000 --- a/communication/bluetooth_profile/src/main/js/test/BluetoothHid.test.js +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Copyright (C) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import bluetooth from '@ohos.bluetooth'; -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from '@ohos/hypium' - -let hidHostProfile = bluetooth.getProfileInst(6); - -function on(ON_VALUE_TEST_ELEMENT) { - return new Promise((resolve, reject) => { - hidHostProfile.on(ON_VALUE_TEST_ELEMENT, function (err, data) { - if (err != undefined) { - reject(err); - } else { - resolve(data); - } - }) - }); -} - -function off(OFF_VALUE_TEST_ELEMENT) { - return new Promise((resolve, reject) => { - hidHostProfile.off(OFF_VALUE_TEST_ELEMENT, function (err, data) { - if (err != undefined) { - reject(err); - } else { - resolve(data); - } - }) - }); -} - -let ProfId = { - PROFILE_A2DP_SINK : 0, - PROFILE_A2DP_SOURCE : 1, - PROFILE_AVRCP_CT : 2, - PROFILE_AVRCP_TG : 3, - PROFILE_HANDS_FREE_AUDIO_GATEWAY : 4, - PROFILE_HANDS_FREE_UNIT : 5 -} - - -export default function bluetoothhostTest_host_2() { -describe('bluetoothhostTest_host_2', function () { - beforeAll(function () { - console.info('beforeAll called') - }) - beforeEach(function () { - console.info('beforeEach called') - }) - afterEach(function () { - console.info('afterEach called') - }) - afterAll(function () { - console.info('afterAll called') - }) - - function sleep(delay) { - return new Promise(resovle => setTimeout(resovle, delay)) - } - - async function tryToEnableBt() { - let sta = bluetooth.getState(); - switch(sta){ - case 0: - console.info('[bluetooth_js] bt turn off:'+ JSON.stringify(sta)); - bluetooth.enableBluetooth(); - await sleep(3000); - break; - case 1: - console.info('[bluetooth_js] bt turning on:'+ JSON.stringify(sta)); - await sleep(3000); - break; - case 2: - console.info('[bluetooth_js] bt turn on:'+ JSON.stringify(sta)); - break; - case 3: - console.info('[bluetooth_js] bt turning off:'+ JSON.stringify(sta)); - bluetooth.enableBluetooth(); - await sleep(3000); - break; - default: - console.info('[bluetooth_js] enable success'); - } - } - - - /** - * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_PROFILE_LOOP_0001 - * @tc.name looptestgetprofile(set parameterless) - * @tc.desc Test getProfile api 1000 times. - * @tc.author defu.zheng - * @tc.size SMALL - * @tc.type Function - * @tc.level Level 0 - */ - it('SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_PROFILE_LOOP_0001', 0, async function (done) { - console.info('[bluetooth_js] loop get profile start'); - await tryToEnableBt(); - let proFile = bluetooth.getProfileInst(6); - console.info('[bluetooth_js] loop get profile result:' + JSON.stringify(proFile)); - expect(proFile != null).assertEqual(true); - done(); - }) - - - /** - * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_CONN_DEV_LOOP_0001 - * @tc.name looptestgetConnectionDevices(bluetooth mode is off) - * @tc.desc Test getConnectionDevices api 1000 times. - * @tc.author defu.zheng - * @tc.size SMALL - * @tc.type Function - * @tc.level Level 0 - */ - it('SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_CONN_DEV_LOOP_0001', 0, async function (done) { - console.info('[bluetooth_js] loop get connection devices start'); - await tryToEnableBt(); - let arrDev = hidHostProfile.getConnectionDevices(); - console.info('[bluetooth_js] loop getconndev:' + JSON.stringify(arrDev)+ 'length'+ arrDev.length); - expect(arrDev.length).assertEqual(0); - done(); - }) - - - /** - * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_DEV_STATE_LOOP_0001 - * @tc.name looptestgetDeviceState(set a null value) - * @tc.desc Test getDeviceState api 1000 times. - * @tc.author defu.zheng - * @tc.size SMALL - * @tc.type Function - * @tc.level Level 0 - */ - it('SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_DEV_STATE_LOOP_0001', 0, async function (done) { - console.info('[bluetooth_js] loop get device state start'); - await tryToEnableBt(); - let devState = hidHostProfile.getDeviceState(''); - console.info('[bluetooth_js] loop get device state result:' + JSON.stringify(devState)); - expect(devState).assertEqual(0); - done(); - }) - - - /** - * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_HID_HOST_PROFILE_CONN_LOOP_0001 - * @tc.name looptesthidhostprofileconnect(set a null value) - * @tc.desc Test hidHostProfile connect api 1000 times. - * @tc.author defu.zheng - * @tc.size SMALL - * @tc.type Function - * @tc.level Level 0 - */ - it('SUB_COMMUNACATION_bluetooth_DEVICE_JS_HID_HOST_PROFILE_CONN_LOOP_0001', 0, async function (done) { - console.info('[bluetooth_js] loop HidHostProfile the connect start'); - await tryToEnableBt(); - let conn = hidHostProfile.connect(''); - console.info('[bluetooth_js] loop HidHostProfile the connect result:' + JSON.stringify(conn)); - expect(conn).assertFalse(); - done(); - }) - - - /** - * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_HID_HOST_PROFILE_DISCONN_LOOP_0001 - * @tc.name looptesthidhostprofiledisconnect(set a null value) - * @tc.desc Test hidHostProfile disconnect api 1000 times. - * @tc.author defu.zheng - * @tc.size SMALL - * @tc.type Function - * @tc.level Level 0 - */ - it('SUB_COMMUNACATION_bluetooth_DEVICE_JS_HID_HOST_PROFILE_DISCONN_LOOP_0001', 0, async function (done) { - console.info('[bluetooth_js] loop HidHostProfile the disconnect start'); - await tryToEnableBt(); - let disConn = hidHostProfile.disconnect(''); - console.info('[bluetooth_js] loop HidHostProfile the disconnect result:' + JSON.stringify(disConn)); - expect(disConn).assertFalse(); - done(); - }) - - - /** - * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_HID_HOST_PROFILE_ON_LOOP_0001 - * @tc.name looptesthidhostprofileon - * @tc.desc Test hidHostProfile on api 1000 times. - * @tc.author defu.zheng - * @tc.size SMALL - * @tc.type Function - * @tc.level Level 0 - */ - it('SUB_COMMUNACATION_bluetooth_DEVICE_JS_HID_HOST_PROFILE_ON_LOOP_0001', 0, async function (done) { - try { - await tryToEnableBt(); - console.info('[bluetooth_js] loop HidHostProfile the on start'); - on("connectionStateChange", function (data) { - console.info("[bluetooth_js] HidHostProfile_on data " + JSON.stringify(data)); - expect(true).assertEqual(data !=null); - }); - }catch(e) { - expect(null).assertFail(); - } - try { - console.info('[bluetooth_js] HidHostProfile the off test start'); - off("connectionStateChange", function (data) { - console.info("[bluetooth_js] HidHostProfile_off data-> " + JSON.stringify(data)); - expect(true).assertEqual(data ==null); - }); - }catch(e) { - expect(null).assertFail(); - } - done(); - }) - - - - /** - * @tc.number SUB_COMMUNACATION_bluetoothble_PANProfile_Tethering_0001 - * @tc.name testonsppReadOn - * @tc.desc Test sppReadOn api . - * @tc.size MEDIUM - * @tc.type Function - * @tc.level Level 2 - */ - it('SUB_COMMUNACATION_bluetoothble_PANProfile_Tethering_0001', 0, async function (done) { - await tryToEnableBt(); - console.info('[bluetooth_js] tethering test start'); - let panProfile = bluetooth.getProfileInst(bluetooth.ProfileId.PROFILE_PAN_NETWORK); - let ret = panProfile.setTethering(false); - console.info("[bluetooth_js] setTethering false result "+JSON.stringify(ret)); - let result = panProfile.isTetheringOn(); - console.info("[bluetooth_js] setTethering getTetheringOn result1 false== "+JSON.stringify(result)); - expect(result).assertFalse(); - done(); - }) - }) -} diff --git a/communication/bluetooth_profile/src/main/js/test/List.test.js b/communication/bluetooth_profile/src/main/js/test/List.test.js index af04ac898..53b065558 100644 --- a/communication/bluetooth_profile/src/main/js/test/List.test.js +++ b/communication/bluetooth_profile/src/main/js/test/List.test.js @@ -15,9 +15,7 @@ import bluetoothhostTest_host_1 from './BluetoothHfp.test.js' import bluetoothhostTest_host_3 from './BluetoothA2dp.test.js' -import bluetoothhostTest_host_2 from './BluetoothHid.test.js' export default function testsuite() { bluetoothhostTest_host_1() bluetoothhostTest_host_3() -bluetoothhostTest_host_2() } diff --git a/communication/bluetooth_standard/signature/openharmony_sx.p7b b/communication/bluetooth_standard/signature/openharmony_sx.p7b index 66b4457a8a81fb8d3356cf46d67226c850944858..5f165bc5913d474d4e5bd0e5a2f3b492f5087a63 100644 GIT binary patch delta 1324 zcmaJ>&u<$=6s}z-C8230%87so?gg5}UORSdhX$D0U*7eO?Op#^uW>2s^=AEJz3X^w zPwXHWq{|NN_+xtdr74AaR@b%{Skh`QE(u z+cRH0J0|uny*xX2Z9lpH$AagA_i*phiVMBy^>{)H#FMjgZ|)~O`gxz%L+s5QKPGw( z_h!EF?ah3(>mTS{r(s*GmfF_+8~$*B2oV02N3dqsTsXYqS38~6TEppe8`XYqdZ0J# z=m$qnA2b68KU}{&jojm1-PBb__fIZ*n!Ge3NuaG80CNx+99?314JHp#&@i^^t!5@G ziWF$VCK4S?iV9T}MV7`qm2c98iiIG@f>41b4J=GX-o=*?O($?!j&e$g?^VOmD91>q zA`?3miyMJDG}1)~5Mo=CBk%KLIt>wwl&Cy6M0pOUn;=rL(v*ggX;0D7Kj=dYs}wCD z&^pNp>xdMI$PPn++^MdONFsqN*4g|>YGDSS+*_a^%xY}0pJSO}RZjHBdJY!KGSfpj z1M|iSiK1X4Td~g4To%-l&{5@dy~dh@Y6IrV@{XyL(k5bBn8r#nWtX{8lOTbpaMN|g zaw7_e8YLQljs_)um>URiorv^#xxOB^hGJ`ZTv7@VInEa1qc9Vq6eSbg$}ur02wP=Q zt5~>I%Nq7D2!v=P7$ia?XUiN$`I6Kxw<84ClD5-b*Gin6)7q2AOvoy4ILnerUut|QABQufz6Vn z!ve9uK#V8^4VF5IMc52Eq+uBlV39*WabHiTfCw;YoVwt8KvyjHYf)tka2aq|t*MCy z$H#bQ6qCnhO-w;qZ=^M+x)WsV8XAO`aXzjYMMGs0+tGD{8_2PW6)iQ^hWv78P|GIW z->5NLLcSx2*%q6P=Q3LzGZZcstTNlmtTiINOi?H@JA)7h6v=i-sokwuJ1}lrPF_+* zG^~e}&5E_UI(gf7?G?LjI{{VeIRVXXxBFH@Q>U#HsG5DfXWPB{9&a{04g&cho3I#f!$>fu+(7*Q) zNCWo&DHN9@GeufDtF!nYAt6J8JeNuPZ+!Z@Z{xx|Aoe_)?z|yd6Lm(Pe0UL#Lt$c_ zh(}_?TA2tw8ai{nkl(iy-Ij@WBJ;*ysW-0v`PSX;yYGKQ{CK7J^S#uqt<8 delta 1101 zcmZ9LL5Sm20ERc+&Wtn5>t7l1^XKv`O34ikqZqGHse< znsk!s94bWyyof_xSUk9M5QJq>RMwNQE}|zD4<5a&hxH;XvI`0-n3j;3I(P0r5IdaC zor+K6f9)l9^r5%q*w1TDM^C&+teyzAGKho(k;Ieu!8^n`f7d-a4|PjdJUww>UOKq_ z((Ei|PSBVnfvOuI;2Z9wd(cHgKob+bLO zRgvx?l0L>jh?M_hLK6lmWA)@_)m76OL%`{PHMKJ8(E;j#-N=NUheu#P~ zJkfg4L4p^M!m&w)4vLi6qa_5n;~(cq6P4Qb>`UwdCeD7so|tS>VDK;`65BS5=Yv)w z%gN26ucotEjxGcm6S{J`fGbf*u28hpD2SGpf`$l0XlVb|#=)Zs+xEi}5rjdR1VB_} zo)iSPk?nT+GF#4Mckt#KV3m+a_bRYMPbkMLRJj(RHwPgvk84cZE(WOUv8E*DaXM#l zxY(3ic6neR!gF>;sxE8;(IL1%qCoe^I$J|DLxF|?Mb#W?TW!1GOC?7dt*zDS>!U7R z=qj9F9RvQD7IF}Db2J2qgqaBl*rTqhI1iyr7b<=@9GOn45O^AoEH z#kHboc)Omj4_?=tp+1|Rd-}6)=GGUMAU?%jj`oQ6XRn;mXVx;D;AuREuM_FaS_@B| zjB+tfB;ps}c2|;1D|?TXHxf54y?OQ7yIQ diff --git a/communication/nfc_Controller/signature/openharmony_sx.p7b b/communication/nfc_Controller/signature/openharmony_sx.p7b index 66b4457a8a81fb8d3356cf46d67226c850944858..0e5f3d2bf6baeb513ecc2a7f2e72cf1d65f4db45 100644 GIT binary patch delta 1251 zcmZuxO>7%Q6vnQTCZ!QlRD=YV)Etm-YOjrx#!*6;*`3|>&)B>6+KyeLvR-f2zq9LI zI~#A1j9e)o4z$5VJ<>Df=fELwse}YlPar@74nPqn1V~kdptr)>5k(*lb9mo;-<$Wn z(R;r={`(U{YP4{7cK+!D{@~t%=cM=gXyHc}`rhmDgcqoXXXjry;63UIpVvc;W?uh? z=(#?cx#Szo4EO!Js%bTJa*oIy)xYkK1gRk9Uw!~9dd-C+%YNA~&ea-L&umoty@{YV zFx11FXAYae!!I@-nMAJKRNJa-ss8b4Pji@)Xc{O14cKuAv^WcdW{PgD*|b)QC-rjN zX;R3&vr7(2VbJ10IFDc*(;^k!s}Pm}IjE%z5a^huVs^Q>5-)8hdez9v3eL7{)-Evx zQA{xq3JO=~=QwsyEynt44(7{6wpSSvoWpipoYEKu8vmt1g@=}0OxJ5%d$-zvj3@z> zwW$Gaq5)Xf$a@omqei&Y7^21`>6*!E6^jAy+|!+fV;xi*}#1YHT{;GoOpa5M%q#L;w@ ztB`4ABOXw300koGIfiSmF*_inJ7yPTh>&br4JOo0)%tQ*AbBfnnuRFO#!%WygsT-| zb0Iq-IvJ}@_ISJf`)t3wW&2^LUvQ+A+%AvLM5#%N*@LJ^dET0|-fq(aKP zA?%^^ZA4|#Ik@T+o5u~|vlxLU02oA%l{SJQTb%qiuQ5QHG>y;YQH3xJNJ33Bp@vu} zDhzNy32H-o0w7R|Re_#}0udvc0i5d|(i(Ep>eDVvdQc${U>Za;fVn)4MLHU2rgsgt z$7R;6;vikE_Z>iTQCohdv>QM>-C9*;j7|V+Y$~=b(@DNU@;j!m+UXcZtXSiCKx2f2 z7$+!3CRA&5qU^Q-l>vrP$5=_k22P4C);pmF)y`%FBNFdcjS49S0)2v8#f%2UQql&J zxVbrg(HD&Bb=?ZeO3w-^dZ*JT4Mm;|P>}2>lT%Z78;a_VoNTn+2_m}Lk=x_1d`}i+ zrEU4w_x*Cat=nqt+;M!tKTT+;W~X6IMmLyd>5DYTG8Ylfr+^gCq}^=)N0I>NfByYH zeCsDq0czygbk_vc8p|{4_|4OB7>-cqsmRJ&c(qK09_)&FU)b+k3cOKxyLI&K!UtFA zt;N~#v+v%zIrm+1|I0fUw(gkky!I+}YIe@uLZ5E>PI!GBg}h5!?|pvvqwtNN(427X z&$qt0BK>gYmCN^k9?V?+dgJK1dz|;|LoYp+|0H<$3&>vD@CAQeyx)EK=-Sn*x0bEj M;>Vw@J{9}$FL!07egFUf delta 1116 zcmZ9L&u`mg9LAe0ZP&4Gpa~A$r3ARJlD%-$$SC`~5zT z^!#%1!GaDZ^Y+Z#v%Bo>uk(@F=)q+Eaws*Ukq9vl9+{cDyvs(kQ?Y0SOs3EO3q}qm z(^IiY?2n!JmNsxVZ0kAIZfo%uh@}(3Qu?6~ClVk5_TC}Rd)v<8d!U(`;%f0d)p z7x&Laj4>XOBy4Fq^f?4|j#hYbc|<{sbbZt4b@`GYP|%kkW^h1`U>@nkDuS{Idquu! z;j-YlExC zLs)EDEcg$W=IETSGJzu}b3h3#bGf|P3T>%L$*+k}M7sJZ`<;mS&-x;pI8 zxsJklK+C{0V zD;W9=Np3O~oXUpN6cQk%KY5@R3} z>+Ox?sME+;y{zjfBU<2=LA~fZ9WNt5&Sxt_n5=1Lbz|9XS|e!YK!&nf`2o*+yd`X= zeU>kol#EimCyjVHAAY0S-hj69L4L%z#`6BPSYk=F`w8CBELIuxZEHKBI8MUTTra*9 zR~$1eio5N4TK_fG9%%1QKlRz`)2p**5tu|?3d;$4K;8fN^vnByo$ZW45@f(CkxZ>L z!175)=VC-Ww)nQQkT|oj^LTMBe)H0sSD(4}<^AV{!V`Dj*B?6SZ(m#mXJ$@^?f-Ty zb}AZUK`#2_)V=ar`}$X}-oE$>oqqWH-uH_K+IMfgcdP&Dm8lCq{QT%oA#$z$N&4&P j!H43X53YQ4;r{do>$k4&Jbfc_=f^j``TXwe&2xVP$-8&h diff --git a/communication/nfc_Controller/src/main/config.json b/communication/nfc_Controller/src/main/config.json index cc2cb5ed8..c2fe619d9 100644 --- a/communication/nfc_Controller/src/main/config.json +++ b/communication/nfc_Controller/src/main/config.json @@ -1,223 +1,105 @@ -{ - "app": { - "bundleName": "ohos.acts.communication.nfc.nfcdevice", - "vendor": "acts", - "version": { - "code": 1000000, - "name": "1.0.0" - }, - "apiVersion": { - "compatible": 4, - "target": 5 - } - }, - "deviceConfig": {}, - "module": { - "package": "ohos.acts.communication.nfc.nfcdevice", - "name": ".entry", - "mainAbility": ".MainAbility", - "deviceType": [ +{ + "app": { + "bundleName": "ohos.acts.communication.nfc.nfcdevice", + "vendor": "acts", + "version": { + "code": 1000000, + "name": "1.0.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5 + } + }, + "deviceConfig": {}, + "module": { + "package": "ohos.acts.communication.nfc.nfcdevice", + "name": ".entry", + "mainAbility": ".MainAbility", + "deviceType": [ "tablet", "default", - "phone" - ], - "distro": { - "deliveryWithInstall": true, - "moduleName": "nfc_standard", - "moduleType": "entry" - }, - "abilities": [ - { - "skills": [ - { - "entities": [ - "entity.system.home" - ], - "actions": [ - "action.system.home" - ] - } - ], - "orientation": "unspecified", - "formsEnabled": false, - "name": ".MainAbility", - "srcLanguage": "js", - "srcPath": "MainAbility", - "icon": "$media:icon", - "description": "$string:MainAbility_desc", - "label": "$string:MainAbility_label", - "type": "page", - "visible": true, - "launchType": "standard" - }, - { - "orientation": "unspecified", - "formsEnabled": false, - "name": ".TestAbility", - "srcLanguage": "js", - "srcPath": "TestAbility", - "icon": "$media:icon", - "description": "$string:TestAbility_desc", - "label": "$string:TestAbility_label", - "type": "page", - "visible": true, - "launchType": "standard" - } - ], - "js": [ - { - "pages": [ - "pages/index/index" - ], - "name": "default", - "window": { - "designWidth": 720, - "autoDesignWidth": false - } - }, - { - "pages": [ - "pages/index/index" - ], - "name": ".TestAbility", - "window": { - "designWidth": 720, - "autoDesignWidth": false - } - } - ], - "defPermissions": [ - { - "availableScope": [], - "grantMode": "user_grant", - "name": "ohos.permission.ACCESS_LOCATION", - "availableLevel": "system_basic", - "provisionEnable": true, - "distributedSceneEnable": true, - "label": "ACCESS_LOCATION label", - "description": "ACCESS_LOCATION description" - }, - { - "availableScope": [], - "grantMode": "system_grant", - "name": "ohos.permission.MANAGE_SECURE_SETTINGS", - "availableLevel": "system_basic", - "provisionEnable": true, - "distributedSceneEnable": false, - "label": "MANAGE_SECURE_SETTINGS label", - "description": "MANAGE_SECURE_SETTINGS description" - }, - { - "availableScope": [], - "grantMode": "user_grant", - "name": "ohos.permission.LOCATION", - "availableLevel": "system_basic", - "provisionEnable": true, - "distributedSceneEnable": true, - "label": "LOCATION label", - "description": "LOCATION description" - } - ], - "reqPermissions": [ - { - "name": "ohos.permission.MANAGE_SECURE_SETTINGS", - "reason": "need use ohos.permission.MANAGE_SECURE_SETTINGS" - }, - { - "name": "ohos.permission.NFC_CARD_EMULATION", - "reason": "use ohos.permission.SET_nfc_INFO" - }, - { - "name": "ohos.permission.MANAGE_nfc_CONNECTION", - "reason": "use ohos.permission.MANAGE_nfc_CONNECTION" - }, - { - "name": "ohos.permission.NFC_TAG", - "reason": "use ohos.permission.NFC_TAG" - }, - { - "name": "ohos.permission.GET_nfc_CONFIG", - "reason": "use ohos.permission.GET_nfc_CONFIG" - }, - { - "name": "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", - "reason": "use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" - }, - { - "name": "ohos.permission.GET_nfc_LOCAL_MAC", - "reason": "use ohos.permission.GET_nfc_LOCAL_MAC" - }, - { - "name": "ohos.permission.GET_nfc_PEERS_MAC", - "reason": "use ohos.permission.GET_nfc_PEERS_MAC" - }, - { - "name": "ohos.permission.MANAGE_nfc_HOTSPOT", - "reason": "use ohos.permission.MANAGE_nfc_HOTSPOT" - }, - { - "name": "ohos.permission.GET_nfc_INFO_INTERNAL", - "reason": "use ohos.permission.GET_nfc_INFO_INTERNAL" - }, - { - "name": "ohos.permission.LOCATION", - "reason": "need use ohos.permission.LOCATION", - "usedScene": { - "ability": [ - "ohos.acts.communication.nfc.nfcdevice" - ], - "when": "inuse" - } - }, - { - "name": "ohos.permission.ACCESS_LOCATION", - "reason": "need use ohos.permission.ACCESS_LOCATION", - "usedScene": { - "ability": [ - "ohos.acts.communication.nfc.nfcdevice" - ], - "when": "inuse" - } - }, - { - "name": "ohos.permission.LOCATION_IN_BACKGROUND", - "reason": "need use ohos.permission.LOCATION_IN_BACKGROUND", - "usedScene": { - "ability": [ - "ohos.acts.communication.nfc.nfcdevice" - ], - "when": "inuse" - } - }, - { - "name": "ohos.permission.MANAGE_SECURE_SETTINGS", - "reason": "need use ohos.permission.MANAGE_SECURE_SETTINGS", - "usedScene": { - "ability": [ - "ohos.acts.communication.nfc.nfcdevice" - ], - "when": "inuse" - } - }, - { - "name": "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", - "reason": "use ohos.permission.GRANT_SENSITIVE_PERMISSIONS" - }, - { - "name": "ohos.permission.REVOKE_SENSITIVE_PERMISSIONS", - "reason": "use ohos.permission.REVOKE_SENSITIVE_PERMISSIONS" - }, - { - "name": "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" - }, - { - "name": "ohos.permission.GET_BUNDLE_INFO" - } - ], - "testRunner": { - "name": "OpenHarmonyTestRunner", - "srcPath": "TestRunner" - }, - "srcPath": "" - } -} \ No newline at end of file + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "nfc_standard", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "orientation": "unspecified", + "formsEnabled": false, + "name": ".MainAbility", + "srcLanguage": "js", + "srcPath": "MainAbility", + "icon": "$media:icon", + "description": "$string:MainAbility_desc", + "label": "$string:MainAbility_label", + "type": "page", + "visible": true, + "launchType": "standard" + }, + { + "orientation": "unspecified", + "formsEnabled": false, + "name": ".TestAbility", + "srcLanguage": "js", + "srcPath": "TestAbility", + "icon": "$media:icon", + "description": "$string:TestAbility_desc", + "label": "$string:TestAbility_label", + "type": "page", + "visible": true, + "launchType": "standard" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + }, + { + "pages": [ + "pages/index/index" + ], + "name": ".TestAbility", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ], + "reqPermissions": [ + { + "name": "ohos.permission.NFC_CARD_EMULATION", + "reason": "use ohos.permission.SET_nfc_INFO" + }, + { + "name": "ohos.permission.NFC_TAG", + "reason": "use ohos.permission.NFC_TAG" + } + ], + "testRunner": { + "name": "OpenHarmonyTestRunner", + "srcPath": "TestRunner" + }, + "srcPath": "" + } +} diff --git a/communication/nfc_Controller/src/main/js/test/nfc.Controller.js b/communication/nfc_Controller/src/main/js/test/nfc.Controller.js index dba8023bb..aa279b8e1 100644 --- a/communication/nfc_Controller/src/main/js/test/nfc.Controller.js +++ b/communication/nfc_Controller/src/main/js/test/nfc.Controller.js @@ -56,15 +56,6 @@ export default function nfcControllerTest() { expect(result != null).assertTrue(); } controller.on(NFC_STATE_NOTIFY, recvNfcStateNotifyFunc); - try { - let openNfcswitch = controller.openNfc(); - sleep(5000); - console.info('[nfc_js] open Nfc switch ->' + openNfcswitch); - expect(openNfcswitch).assertTrue(); - }catch(error) { - console.info('[nfc_js] Failed to enable the switch ->' + error); - expect(error != null).assertTrue(); - } controller.off(NFC_STATE_NOTIFY, recvNfcStateNotifyFunc); }) @@ -126,27 +117,10 @@ export default function nfcControllerTest() { expect(checkopennfc).assertEqual(NfcState.STATE_ON); console.log("[nfc_test] checkopen the state of nfc-> " + JSON.stringify(checkopennfc)); }) - - /** - * @tc.number SUB_COMMUNICATION_NFC_Cont_0600 - * @tc.name Test closeNfcapi - * @tc.desc Deregister the NFC switch status event and disable the NFC. - * @tc.size since 7 - * @tc.type Function - * @tc.level Level 2 - */ - it('SUB_COMMUNICATION_NFC_Cont_0600', 0, function () { - try { - let closeNfc = controller.closeNfc(); - console.info('[nfc_js] clocse Nfc switch ->' + closeNfc); - expect(closeNfc).assertTrue(); - }catch(error) { - console.info('[nfc_js] Failed to disable the switch ->' + error ); - expect(error!=null).assertTrue(); - } - }) + console.log("*************[nfc_test] start nfc js unit test end*************"); }) } + diff --git a/communication/wifi_p2p/signature/openharmony_sx.p7b b/communication/wifi_p2p/signature/openharmony_sx.p7b index 66b4457a8a81fb8d3356cf46d67226c850944858..23c6621852e7d00569cc3d09ccb7869f5aafbf33 100644 GIT binary patch delta 915 zcmew?bx+>Gpo#w$8>d#AN85K^Ms}tJP5h^ULdTgH84Y<2xY;-p+B_IjnOT?^4Vu`i z5egX>G_mKfG_hxFbjV^c%g@L!)=Nw-Db`EQ&&@5(%S=uz$;{8wE6+^J1QRK#WtqvT zN;*o31vyGqN_qK3xrsTGudyiCCno0*(j`?g}x&+27C4)j7n|-%qI?k4ZpfZl3N~?1H-m zuL`G7KNlZYuzTYJf;_`KeO%pLUC@lHNAa7Fzq6xHysx7(nkp1U0j{n=!8jBl`_jWd zBsjo71fNl!e)VqtKo^F%2KhPqU{MJ*FWA*NG{`j`7{(!x? zwL$jeMAp>F^Ld==4UG)U4U7%UObw$9^x9>TxOUO05@an$beZGlR zIw!gB^}3fW!Mip}l`tzBaItX!bImzh7G@?EcLP@@1wqE+LF|v5_0^_!xz(=wrfPlX zt3bze7tg1gH0`Fub(k|LGCbjSeyl0_J1C~b@s|5ip|UT{`X=5kc{L^Sk5&r@{oNJ> E002!fXaE2J delta 285 zcmca7|5?hxpour1jZ>@5qwPB{BRkWACf)>~Pz)0zqam*WHydX{n+IbmGYb==K@%%K zLLuXVCRPTPCYC=N9kN(-lJj%*{0ma^JQ9m?^Ybe85(^6SN>YnUlysC53v!gKl!_~h zOHy;=lkGpo#w$8>d#AN85K^Ms}tJP5h^ULdTgH84Y<2xY;-p+B_IjnOT?^4Vu`i z5egX>G_mKfG_hxFbjV^c%g@L!)=Nw-Db`EQ&&@5(%S=uz$;{8wE6+^J1QRK#WtqvT zN;*o31vyGqN_qK3xrsTGudyiCCno0*(j`?g}x&+27C4)j7n|-%qI?k4ZpfZl3N~?1H-m zuL`G7KNlZYuzTYJf;_`KeO%pLUC@lHNAa7Fzq6xHysx7(nkp1U0j{n=!8jBl`_jWd zBsjo71fNl!e)VqtKo^F%2KhPqU{MJ*FWA*NG{`j`7{(!x? zwL$jeMAp>F^Ld==4UG)U4U7%UObw$9^x9>TxOUO05@an$beZGlR zIw!gB^}3fW!Mip}l`tzBaItX!bImzh7G@?EcLP@@1wqE+LF|v5_0^_!xz(=wrfPlX zt3bze7tg1gH0`Fub(k|LGCbjSeyl0_J1C~b@s|5ip|UT{`X=5kc{L^Sk5&r@{oNJ> E002!fXaE2J delta 285 zcmca7|5?hxpour1jZ>@5qwPB{BRkWACf)>~Pz)0zqam*WHydX{n+IbmGYb==K@%%K zLLuXVCRPTPCYC=N9kN(-lJj%*{0ma^JQ9m?^Ybe85(^6SN>YnUlysC53v!gKl!_~h zOHy;=lk>fl=Jb4lY!JF(!7DR+SEP4?U5o{e8aTqFMFCvG->v1c!4N(qXs(b1tbelcLvHIkG)9Xd73aZc+ zbO-_!p+Z=zcW4l}ZARETJIMuYwl#H)3WBTit52`x4n7#W5zD}@PWif)tD z9V?@S6&0w^wuVlxE0!e;p=}TA-ciIu7zz{sYSR!YNg7mgomS7_gluk~sBQwzjL1y4 z3|okv`2i#28riP)Bhi>DY~3q{d?(->O)C&6?_xr&8Z}So+dLWg`;%r{8UocPaj4Ot zv$W1BJYs23v7y>@M%G^4W5!y^*Cv~rioQMRAf{vDu{;Ih-?Ws6pp!=s@D$8~S;#Fv zRVG9T4aAhk(P-khb)sT&43Ve3W^p8nW6_g_xsVgfE^WZ9IM$}3QC#R){&6 zfs;O5U&&u`eajs0`QBx_?H}Je6VF;EQfz0bzDL$I?eM5IQ9HXmp*xK<^I_jnIX0blFa3D zH6neyNmdhNDzWkIPU4f2`% zXW|KlpyM0u{&%+z?`(bl^1UD5eoMbodFKW=_vPI;zIt^0$Nf)#{_unN#`K~-e~^Pu f>KC`pU3l~JM;=@?Z``dsk=+TuIndS$e@^}aQz5Rc delta 1570 zcmZXUON`q@7{|#rY`3i{SQSpF>UQCPNZWOuPLL`(<5!$yk~r}rUIkjm@gt7yB=$N^ ztd^*I=!HWiazH{wDo8w3(F3ZuAyr%u2myzRI~-Uo-Q~_y7OC zxqtkv&2!l9`mxnRFI_2Lxpy>iaOL{$dNP)tSV<((N3kQThb~+xC$s~}l?1lC_UXSH z6W4dwK1lAaz4ytvLgLv*L=d2tGC;^eV6aq$Y_$F58;SQ9Y>0Sv-gOblV)clcNv2vy z(Y_i!)+`tz&JPJrCPj{8sIWrv7S%$a$bhs!5fHImS8_~Sacr~as56QOO=#3b2vnY+ z%vkFe6sD9$EhD6j{adP3SZb;ZMhw~vJ?}}SpzCU4%a$cqVM6ST(I4EmL+wWB%2n1l^cY-AO+ zHm38_Ne8Pk7FHxGdPO$QE-xmJFNMU(l+4HYY0_i-%1#F~d4Ql{Ow6IxXmT70LIEJg zSiYO+933G-eiXF6TwU4V1*bIa6OiP1pwS_=2P_ZfF`zSKQE3!alvu?YJT*r##E&$@ zpcxT?$^({U9t`UZ)Z#)aMzHHHKT8x3_jt-e1QnyR{3~&4(YF8x4fWxxSO^Wl>$(QV z0oJGw0N_kFz{{>u?9`P^bv|k7`IHSSZI#N+CVH_{#|*3yOh7N=X+@Xur_wOY6uNFe zYD3+H@<8pUm@F~xPn1kVv!RIdiaj?nLQTqg#pv*i#>B~>mNJA|)y z-BiP?q7Wp4C1TQhUhJ zD0Uy{#gN>a#unBDTzLzEMVv!CJqTiZ_V-DHlOW`Krl$_*9ii5BM?#RzwnaS9DOy+9 zomTY!6hX#_lN1QVWYvx}Ae|0B)p0V{aLl-kiK=GYppl}GE>Wp^Y1@R&ykLsioC6qH z8f4pgO(=M(hy|WRaqJ8rneAn@al@^ef~PuNx26YasT$ESkX-15c($bw4hwZP zkQ%a952a4KzFiz)ZZuVD#@RgDOcFWwjTerhmz^da9P$>(|~PzdL