@extscreen/es-core 2.3.20 → 2.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +167 -33
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import Vue from 'vue';
|
2
|
-
import { ESLog } from '@extscreen/es-log';
|
2
|
+
import { ESLog, ESLogModule } from '@extscreen/es-log';
|
3
3
|
|
4
4
|
/**
|
5
5
|
*
|
@@ -568,7 +568,7 @@ class ESNetworkManager {
|
|
568
568
|
|
569
569
|
var ESNetworkManager$1 = new ESNetworkManager();
|
570
570
|
|
571
|
-
class ToastModule
|
571
|
+
class ToastModule {
|
572
572
|
|
573
573
|
showToast(message) {
|
574
574
|
Vue.Native.callNative('ESToastModule', 'showToast', message);
|
@@ -583,7 +583,7 @@ class ToastModule$1 {
|
|
583
583
|
}
|
584
584
|
}
|
585
585
|
|
586
|
-
var ToastModule$
|
586
|
+
var ToastModule$1 = new ToastModule();
|
587
587
|
|
588
588
|
/**
|
589
589
|
*
|
@@ -596,20 +596,45 @@ class Toast {
|
|
596
596
|
}
|
597
597
|
|
598
598
|
showToast(message) {
|
599
|
-
ToastModule$
|
599
|
+
ToastModule$1.showToast(message);
|
600
600
|
}
|
601
601
|
|
602
602
|
showLongToast(message) {
|
603
|
-
ToastModule$
|
603
|
+
ToastModule$1.showLongToast(message);
|
604
604
|
}
|
605
605
|
|
606
606
|
showShortToast(message) {
|
607
|
-
ToastModule$
|
607
|
+
ToastModule$1.showShortToast(message);
|
608
608
|
}
|
609
609
|
}
|
610
610
|
|
611
611
|
var Toast$1 = new Toast();
|
612
612
|
|
613
|
+
/**
|
614
|
+
*
|
615
|
+
*/
|
616
|
+
|
617
|
+
class ESToast {
|
618
|
+
|
619
|
+
init() {
|
620
|
+
return Promise.resolve();
|
621
|
+
}
|
622
|
+
|
623
|
+
showToast(message) {
|
624
|
+
ToastModule$1.showToast(message);
|
625
|
+
}
|
626
|
+
|
627
|
+
showLongToast(message) {
|
628
|
+
ToastModule$1.showLongToast(message);
|
629
|
+
}
|
630
|
+
|
631
|
+
showShortToast(message) {
|
632
|
+
ToastModule$1.showShortToast(message);
|
633
|
+
}
|
634
|
+
}
|
635
|
+
|
636
|
+
var ESToast$1 = new ESToast();
|
637
|
+
|
613
638
|
class ESToastModule {
|
614
639
|
|
615
640
|
make() {
|
@@ -687,32 +712,7 @@ class ESToastModule {
|
|
687
712
|
}
|
688
713
|
}
|
689
714
|
|
690
|
-
var
|
691
|
-
|
692
|
-
/**
|
693
|
-
*
|
694
|
-
*/
|
695
|
-
|
696
|
-
class ESToast {
|
697
|
-
|
698
|
-
init() {
|
699
|
-
return Promise.resolve();
|
700
|
-
}
|
701
|
-
|
702
|
-
showToast(message) {
|
703
|
-
ToastModule.showToast(message);
|
704
|
-
}
|
705
|
-
|
706
|
-
showLongToast(message) {
|
707
|
-
ToastModule.showLongToast(message);
|
708
|
-
}
|
709
|
-
|
710
|
-
showShortToast(message) {
|
711
|
-
ToastModule.showShortToast(message);
|
712
|
-
}
|
713
|
-
}
|
714
|
-
|
715
|
-
var ESToast$1 = new ESToast();
|
715
|
+
var ESToastModule$1 = new ESToastModule();
|
716
716
|
|
717
717
|
/**
|
718
718
|
*
|
@@ -3573,12 +3573,145 @@ var ESPage = {
|
|
3573
3573
|
},
|
3574
3574
|
};
|
3575
3575
|
|
3576
|
+
class AndroidVersions {
|
3577
|
+
|
3578
|
+
sdkInt = 0;
|
3579
|
+
sdkPreInt = 0;
|
3580
|
+
|
3581
|
+
ANDROID_4_0 = 14;
|
3582
|
+
ANDROID_4_0_3 = 15;
|
3583
|
+
ANDROID_4_1 = 16;
|
3584
|
+
ANDROID_4_2 = 17;
|
3585
|
+
ANDROID_4_3 = 18;
|
3586
|
+
ANDROID_4_4 = 19;
|
3587
|
+
ANDROID_4_4_W = 20;
|
3588
|
+
ANDROID_5_0 = 21;
|
3589
|
+
ANDROID_5_1 = 22;
|
3590
|
+
ANDROID_6_0 = 23;
|
3591
|
+
ANDROID_7_0 = 24;
|
3592
|
+
ANDROID_7_1_1 = 25;
|
3593
|
+
ANDROID_8_0 = 26;
|
3594
|
+
ANDROID_8_1 = 27;
|
3595
|
+
ANDROID_9_0 = 28;
|
3596
|
+
ANDROID_10_0 = 29;
|
3597
|
+
ANDROID_11_0 = 30;
|
3598
|
+
ANDROID_12_0 = 31;
|
3599
|
+
ANDROID_12_L = 32;
|
3600
|
+
ANDROID_13_0 = 33;
|
3601
|
+
|
3602
|
+
init() {
|
3603
|
+
return new Promise((resolve, reject) => {
|
3604
|
+
this.sdkInt = ESDeviceManager$1.getBuildVersionSDKInt();
|
3605
|
+
this.sdkPreInt = ESDeviceManager$1.getBuildVersionPreviewSDKInt();
|
3606
|
+
resolve();
|
3607
|
+
})
|
3608
|
+
}
|
3609
|
+
|
3610
|
+
isEqualsOrNewerThan(osv, prew = true) {
|
3611
|
+
if (prew && osv >= this.ANDROID_6_0) {
|
3612
|
+
return this.sdkInt >= osv || ((this.sdkInt === osv - 1) && this.sdkPreInt > 0);
|
3613
|
+
}
|
3614
|
+
return this.sdkInt >= osv;
|
3615
|
+
}
|
3616
|
+
|
3617
|
+
}
|
3618
|
+
|
3619
|
+
|
3620
|
+
var AndroidVersions$1 = new AndroidVersions();
|
3621
|
+
|
3622
|
+
class ESPluginFix {
|
3623
|
+
|
3624
|
+
tryFix() {
|
3625
|
+
if (ESManager$1.getESSDKVersionCode() >= 2.4) {
|
3626
|
+
return;
|
3627
|
+
}
|
3628
|
+
if (AndroidVersions$1.isEqualsOrNewerThan(AndroidVersions$1.ANDROID_8_0)) {
|
3629
|
+
ESLogModule.d('ESPluginModule', 'check art after android 8');
|
3630
|
+
this.removeArtFiles();
|
3631
|
+
}
|
3632
|
+
}
|
3633
|
+
|
3634
|
+
removeArtFiles() {
|
3635
|
+
const path = ESManager$1.getESAppPath();
|
3636
|
+
if (path == null) {
|
3637
|
+
ESLogModule.e('ESPluginModule', 'not get host path');
|
3638
|
+
return;
|
3639
|
+
}
|
3640
|
+
const idx = path.indexOf('app_rpk/apps');
|
3641
|
+
if (idx < 0) {
|
3642
|
+
ESLogModule.e('ESPluginModule', 'not find esapp path');
|
3643
|
+
return;
|
3644
|
+
}
|
3645
|
+
const pluginDir = path.substr(0, idx + 8) + 'plugins';
|
3646
|
+
this.checkFile(pluginDir);
|
3647
|
+
}
|
3648
|
+
|
3649
|
+
checkFile(fileDir) {
|
3650
|
+
if (ESLog.DEBUG) {
|
3651
|
+
ESLog.d('ESPluginModule', ' ---> checkFile ' + fileDir);
|
3652
|
+
}
|
3653
|
+
const file = new ESFile();
|
3654
|
+
file.newESFile(fileDir)
|
3655
|
+
.then(() => {
|
3656
|
+
if (ESLog.DEBUG) {
|
3657
|
+
ESLog.d('ESPluginModule', ' ---> new file');
|
3658
|
+
}
|
3659
|
+
return file.exists();
|
3660
|
+
})
|
3661
|
+
.then((exists) => {
|
3662
|
+
if (ESLog.DEBUG) {
|
3663
|
+
ESLog.d('ESPluginModule', ' ---> exists ' + exists);
|
3664
|
+
}
|
3665
|
+
if (exists) {
|
3666
|
+
return file.isDirectory();
|
3667
|
+
}
|
3668
|
+
return Promise.resolve(false);
|
3669
|
+
})
|
3670
|
+
.then((isDir) => {
|
3671
|
+
if (ESLog.DEBUG) {
|
3672
|
+
ESLog.d('ESPluginModule', ' ---> isDir ' + isDir);
|
3673
|
+
}
|
3674
|
+
if (isDir) {
|
3675
|
+
return file.getAbsolutePath();
|
3676
|
+
}
|
3677
|
+
return Promise.reject();
|
3678
|
+
})
|
3679
|
+
.then((path) => {
|
3680
|
+
ESLogModule.d('ESPluginModule', 'check ' + path);
|
3681
|
+
file.list()
|
3682
|
+
.then((fileList) => {
|
3683
|
+
if (ESLog.DEBUG) {
|
3684
|
+
ESLog.d('ESPluginModule', ' ---> chirld size ' + fileList.length);
|
3685
|
+
}
|
3686
|
+
for (let i = 0; i < fileList.length; i++) {
|
3687
|
+
let nextPath = path + '/' + fileList[i];
|
3688
|
+
if (path.endsWith('/arm')) {
|
3689
|
+
let nextFile = new ESFile();
|
3690
|
+
nextFile.newESFile(nextPath)
|
3691
|
+
.then(() => {
|
3692
|
+
ESLogModule.d('ESPluginModule', ' ---> delete ' + nextPath);
|
3693
|
+
nextFile.delete();
|
3694
|
+
});
|
3695
|
+
} else {
|
3696
|
+
this.checkFile(nextPath);
|
3697
|
+
}
|
3698
|
+
}
|
3699
|
+
});
|
3700
|
+
});
|
3701
|
+
}
|
3702
|
+
}
|
3703
|
+
|
3704
|
+
|
3705
|
+
var ESPluginFix$1 = new ESPluginFix();
|
3706
|
+
|
3576
3707
|
/**
|
3577
3708
|
*
|
3578
3709
|
*/
|
3579
3710
|
class ESPluginModule {
|
3580
3711
|
|
3581
3712
|
install(pluginArray) {
|
3713
|
+
// 修复插件崩溃问题
|
3714
|
+
ESPluginFix$1.tryFix();
|
3582
3715
|
return Vue.Native.callNative('ESPluginModule', 'install', pluginArray);
|
3583
3716
|
}
|
3584
3717
|
}
|
@@ -3699,6 +3832,7 @@ class ES {
|
|
3699
3832
|
ESEventBus$1.init(),
|
3700
3833
|
ESBroadcastManager$1.init(),
|
3701
3834
|
ESLocalStorage$1.init(),
|
3835
|
+
AndroidVersions$1.init()
|
3702
3836
|
]))
|
3703
3837
|
}
|
3704
3838
|
//
|
@@ -7321,4 +7455,4 @@ const ES_FAST_OUT_LINEAR_IN_INTERPOLATOR = 10;
|
|
7321
7455
|
const ES_FAST_OUT_SLOW_IN_INTERPOLATOR = 11;
|
7322
7456
|
const ES_PATH_INTERPOLATOR = 12;
|
7323
7457
|
|
7324
|
-
export { ES$1 as ES, ESAnimationViewComponent, ESApp, ESAppManager$1 as ESAppManager, ESAppModule$1 as ESAppModule, ESApplication, ESAudioManager$1 as ESAudioManager, ESAudioModule$1 as ESAudioModule, ESBackPress, ESBackPressMixin, ESBroadcast, ESBroadcastManager$1 as ESBroadcastManager, ESDevelopManager$1 as ESDevelopManager, ESDevelopModule$1 as ESDevelopModule, ESDeviceManager$1 as ESDeviceManager, ESDeviceModule$1 as ESDeviceModule, ESDisplayManager$1 as ESDisplayManager, ESEventBus$1 as ESEventBus, ESEventBusEvent, ESFile, ESFileModule$1 as ESFileModule, ESFocusManager$1 as ESFocusManager, ESFocusModule$1 as ESFocusModule, ESKeyEvent, ESKeyEventMixin, ESLaunchManager$1 as ESLaunchManager, ESLoadingViewComponent, ESLocalStorage$1 as ESLocalStorage, ESMMapManager$1 as ESMMapManager, ESMMapModule$1 as ESMMapModule, ESManager$1 as ESManager, ESModule$1 as ESModule, ESNetwork, ESNetworkManager$1 as ESNetworkManager, ESNetworkMixin, ESNetworkModule$1 as ESNetworkModule, ESPage, ESPageLifecycle, ESPageRootViewComponent, ESPageRouterViewComponent, ESPermissionManager$1 as ESPermissionManager, ESPermissionModule$1 as ESPermissionModule, ESPlugin, ESPluginManager$1 as ESPluginManager, ESPluginModule$1 as ESPluginModule, ESPowerManager$1 as ESPowerManager, ESPowerModule$1 as ESPowerModule, ESProgressBarViewComponent, ESQRCodeViewComponent, ESRouter, ESScrollViewComponent, ESSeekBarViewComponent, ESSharedPreferencesManager$1 as ESSharedPreferencesManager, ESSharedPreferencesModule$1 as ESSharedPreferencesModule, ESStorageManager$1 as ESStorageManager, ESStorageModule$1 as ESStorageModule, ESSurfaceViewComponent, ESTextViewComponent, ESToast$1 as ESToast,
|
7458
|
+
export { AndroidVersions$1 as AndroidVersions, ES$1 as ES, ESAnimationViewComponent, ESApp, ESAppManager$1 as ESAppManager, ESAppModule$1 as ESAppModule, ESApplication, ESAudioManager$1 as ESAudioManager, ESAudioModule$1 as ESAudioModule, ESBackPress, ESBackPressMixin, ESBroadcast, ESBroadcastManager$1 as ESBroadcastManager, ESDevelopManager$1 as ESDevelopManager, ESDevelopModule$1 as ESDevelopModule, ESDeviceManager$1 as ESDeviceManager, ESDeviceModule$1 as ESDeviceModule, ESDisplayManager$1 as ESDisplayManager, ESEventBus$1 as ESEventBus, ESEventBusEvent, ESFile, ESFileModule$1 as ESFileModule, ESFocusManager$1 as ESFocusManager, ESFocusModule$1 as ESFocusModule, ESKeyEvent, ESKeyEventMixin, ESLaunchManager$1 as ESLaunchManager, ESLoadingViewComponent, ESLocalStorage$1 as ESLocalStorage, ESMMapManager$1 as ESMMapManager, ESMMapModule$1 as ESMMapModule, ESManager$1 as ESManager, ESModule$1 as ESModule, ESNetwork, ESNetworkManager$1 as ESNetworkManager, ESNetworkMixin, ESNetworkModule$1 as ESNetworkModule, ESPage, ESPageLifecycle, ESPageRootViewComponent, ESPageRouterViewComponent, ESPermissionManager$1 as ESPermissionManager, ESPermissionModule$1 as ESPermissionModule, ESPlugin, ESPluginManager$1 as ESPluginManager, ESPluginModule$1 as ESPluginModule, ESPowerManager$1 as ESPowerManager, ESPowerModule$1 as ESPowerModule, ESProgressBarViewComponent, ESQRCodeViewComponent, ESRouter, ESScrollViewComponent, ESSeekBarViewComponent, ESSharedPreferencesManager$1 as ESSharedPreferencesManager, ESSharedPreferencesModule$1 as ESSharedPreferencesModule, ESStorageManager$1 as ESStorageManager, ESStorageModule$1 as ESStorageModule, ESSurfaceViewComponent, ESTextViewComponent, ESToast$1 as ESToast, ESToastModule$1 as ESToastModule, ESTransitionImageViewComponent, ESUsbDevice, ESUsbDeviceManager$1 as ESUsbDeviceManager, ESUsbDeviceMixin, ESUsbDeviceModule$1 as ESUsbDeviceModule, ES_ACCELERATE_DECELERATE_INTERPOLATOR, ES_ACCELERATE_INTERPOLATOR, ES_ANIMATION_PROPERTY_NAME_ALPHA, ES_ANIMATION_PROPERTY_NAME_ROTATION, ES_ANIMATION_PROPERTY_NAME_SCALE_X, ES_ANIMATION_PROPERTY_NAME_SCALE_Y, ES_ANIMATION_PROPERTY_NAME_TRANSLATION_X, ES_ANIMATION_PROPERTY_NAME_TRANSLATION_Y, ES_ANIMATION_REPEAT_MODE_INFINITE, ES_ANIMATION_REPEAT_MODE_RESTART, ES_ANIMATION_REPEAT_MODE_REVERSE, ES_ANIMATION_TYPE_AFTER, ES_ANIMATION_TYPE_AFTER_DELAY, ES_ANIMATION_TYPE_BEFORE, ES_ANIMATION_TYPE_NONE, ES_ANIMATION_TYPE_PLAY, ES_ANIMATION_TYPE_PLAY_SEQUENTIALLY, ES_ANIMATION_TYPE_PLAY_TOGETHER, ES_ANIMATION_TYPE_WITH, ES_ANIMATION_VALUE_TYPE_FLOAT, ES_ANIMATION_VALUE_TYPE_INT, ES_ANTICIPATE_INTERPOLATOR, ES_ANTICIPATE_OVERSHOOT_INTERPOLATOR, ES_AUDIO_CONTENT_TYPE_MOVIE, ES_AUDIO_CONTENT_TYPE_MUSIC, ES_AUDIO_CONTENT_TYPE_SONIFICATION, ES_AUDIO_CONTENT_TYPE_SPEECH, ES_AUDIO_CONTENT_TYPE_UNKNOWN, ES_AUDIO_DIRECTION_ADJUST_LOWER, ES_AUDIO_DIRECTION_ADJUST_RAISE, ES_AUDIO_DIRECTION_ADJUST_SAME, ES_AUDIO_MANAGER_FLAG_ACTIVE_MEDIA_ONLY, ES_AUDIO_MANAGER_FLAG_ALLOW_RINGER_MODES, ES_AUDIO_MANAGER_FLAG_BLUETOOTH_ABS_VOLUME, ES_AUDIO_MANAGER_FLAG_FIXED_VOLUME, ES_AUDIO_MANAGER_FLAG_HDMI_SYSTEM_AUDIO_VOLUME, ES_AUDIO_MANAGER_FLAG_PLAY_SOUND, ES_AUDIO_MANAGER_FLAG_REMOVE_SOUND_AND_VIBRATE, ES_AUDIO_MANAGER_FLAG_SHOW_SILENT_HINT, ES_AUDIO_MANAGER_FLAG_SHOW_UI, ES_AUDIO_MANAGER_FLAG_SHOW_UI_WARNINGS, ES_AUDIO_MANAGER_FLAG_SHOW_VIBRATE_HINT, ES_AUDIO_MANAGER_FLAG_VIBRATE, ES_AUDIO_STREAM_ACCESSIBILITY, ES_AUDIO_STREAM_ALARM, ES_AUDIO_STREAM_ASSISTANT, ES_AUDIO_STREAM_BLUETOOTH_SCO, ES_AUDIO_STREAM_DEFAULT, ES_AUDIO_STREAM_DTMF, ES_AUDIO_STREAM_MUSIC, ES_AUDIO_STREAM_NOTIFICATION, ES_AUDIO_STREAM_RING, ES_AUDIO_STREAM_SYSTEM, ES_AUDIO_STREAM_SYSTEM_ENFORCED, ES_AUDIO_STREAM_TTS, ES_AUDIO_STREAM_VOICE_CALL, ES_AUDIO_USAGE_ALARM, ES_AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY, ES_AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE, ES_AUDIO_USAGE_ASSISTANCE_SONIFICATION, ES_AUDIO_USAGE_ASSISTANT, ES_AUDIO_USAGE_GAME, ES_AUDIO_USAGE_INVALID, ES_AUDIO_USAGE_MEDIA, ES_AUDIO_USAGE_NOTIFICATION, ES_AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED, ES_AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT, ES_AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST, ES_AUDIO_USAGE_NOTIFICATION_EVENT, ES_AUDIO_USAGE_NOTIFICATION_RINGTONE, ES_AUDIO_USAGE_UNKNOWN, ES_AUDIO_USAGE_VIRTUAL_SOURCE, ES_AUDIO_USAGE_VOICE_COMMUNICATION, ES_AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING, ES_BOUNCE_INTERPOLATOR, ES_CYCLE_INTERPOLATOR, ES_DECELERATE_INTERPOLATOR, ES_FAST_OUT_LINEAR_IN_INTERPOLATOR, ES_FAST_OUT_SLOW_IN_INTERPOLATOR, ES_KEYCODE_BACK, ES_KEYCODE_DPAD_CENTER, ES_KEYCODE_DPAD_DOWN, ES_KEYCODE_DPAD_LEFT, ES_KEYCODE_DPAD_RIGHT, ES_KEYCODE_DPAD_UP, ES_KEYCODE_ENTER, ES_KEYCODE_ESCAPE, ES_KEYCODE_MENU, ES_KEYCODE_SEARCH, ES_KEY_ACTION_DOWN, ES_KEY_ACTION_UP, ES_LIFECYCLE_ON_CREATE, ES_LIFECYCLE_ON_DESTROY, ES_LIFECYCLE_ON_INITIALIZED, ES_LIFECYCLE_ON_PAUSE, ES_LIFECYCLE_ON_RESTART, ES_LIFECYCLE_ON_RESTORE_INSTANCE_SATE, ES_LIFECYCLE_ON_RESUME, ES_LIFECYCLE_ON_SAVE_INSTANCE_SATE, ES_LIFECYCLE_ON_START, ES_LIFECYCLE_ON_STOP, ES_LIFECYCLE_ON_UNINITIALIZED, ES_LINEAR_INTERPOLATOR, ES_MMP_MODE_PRIVATE, ES_MMP_MODE_WORLD_READABLE, ES_MMP_MODE_WORLD_WRITEABLE, ES_NETWORK_INFO_STATE_CONNECTED, ES_NETWORK_INFO_STATE_CONNECTING, ES_NETWORK_INFO_STATE_DISCONNECTED, ES_NETWORK_INFO_STATE_DISCONNECTING, ES_NETWORK_INFO_STATE_SUSPENDED, ES_NETWORK_INFO_STATE_UNKNOWN, ES_NETWORK_INFO_TYPE_ETHERNET, ES_NETWORK_INFO_TYPE_MOBILE, ES_NETWORK_INFO_TYPE_NONE, ES_NETWORK_INFO_TYPE_WIFI, ES_OVERSHOOT_INTERPOLATOR, ES_PATH_INTERPOLATOR, ES_SDK_VERSION_20, ES_SDK_VERSION_21, ES_SDK_VERSION_22, ES_SDK_VERSION_22_1, ES_SDK_VERSION_23, ES_SDK_VERSION_24, ES_SDK_VERSION_25, ES_SDK_VERSION_26, ES_SDK_VERSION_27, ES_SDK_VERSION_28, ES_SDK_VERSION_29, ES_SDK_VERSION_30, ES_SEEK_BAR_MODE_DISABLED, ES_SEEK_BAR_MODE_PROGRESS, ES_SEEK_BAR_MODE_SEEK, KEYCODE_BACK, KEYCODE_DPAD_CENTER, KEYCODE_DPAD_DOWN, KEYCODE_DPAD_LEFT, KEYCODE_DPAD_RIGHT, KEYCODE_DPAD_UP, KEYCODE_ENTER, KEYCODE_ESCAPE, KEYCODE_MENU, KEYCODE_SEARCH, KEY_ACTION_DOWN, KEY_ACTION_UP, Toast$1 as Toast, getESApp, setESApp };
|