| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
-after pressing "build image" button, hob was freezing because it didn't
receive well the log file
[YOCTO #3398]
(Bitbake rev: e0bd4c4616511ec7918f801fb5e04984ebea8158)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, command.py can return an error message from runCommand, due to
being unable to run the command, yet few of our UIs (just hob) can handle it
today. This can result in seeing a TypeError with traceback in certain rare
circumstances.
To resolve this, we need a clean way to get errors back from runCommand,
without having to isinstance() the return value. This implements such a thing
by making runCommand also return an error (or None if no error occurred).
As runCommand now has a method of returning errors, we can also alter the
getCmdLineAction bits such that the returned value is just the action, not an
additional message. If a sync command wants to return an error, it raises
CommandError(message), and the message will be passed to the caller
appropriately.
Example Usage:
result, error = server.runCommand(...)
if error:
log.error('Unable to run command: %s' % error)
return 1
(Bitbake rev: d1002e33e05d45a7e1bd65d79537419a4057e43a)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
| |
[YOCTO #1245]
(Bitbake rev: 17f28f09452f70dfb67fce9a397a99deec84dfe5)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- throw a Hob exception if runCommand returns 'Busy' or
'No such command'
[YOCTO #1245]
(Bitbake rev: 5a8e3baa66f845599a616f080a7efce81ecda631)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a sanity check progress screen to hob. The screen
is displayed when Hob executes the sanity check procedure. The screen
is displayed for at least 5 seconds. If a network error is detected,
a special dialog is displayed which lets the user open the proxy
configuration page directly.
Note that currently bitbake triggers the network tests only when
the value of its TMPDIR variable changes, which happens fairly rare
on my system. This is the subject of another bug (#3026).
Version 2 of the patch splits the changes in two parts (sanity.bbclass
belongs to oe-core).
[YOCTO #3025]
(Bitbake rev: b48f1351271cc066ffe919db112b14834a6d8f8f)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SSTATE_MIRRORS
Add a new tab to show correctly SSTATE_MIRRORS variable. Now you can add new
mirrors or delete mirror. "info" image was also changed( it is smaller, so it
can be next to labels).
>From "Build environment" tab, SSTATE_DIR and SSTATE_MIRRORS vars were removed.
[YOCTO #2893]
(Bitbake rev: 1a81e27365d969e4ad4b4f0aec290aa967a8a35f)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During building we already report errors in a special tab and
indicate when the build has failed; bringing up a dialog was a
regression introduced in bitbake revision
5bab81b124087d63d6eb62a861e1241714fcd483.
Fixes [YOCTO #3151].
(Bitbake rev: cf0a67d62f631aa48d1afc3fbdd0f73995b1c401)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an event handler failed we were not recieving an error message -
parsing just "froze" at 99%. This is because we were expecting a
CommandFailure event and this never happened in the case of
RequestPackageInfo which is where the failure was occurring.
This also required tweaking the error formatting slightly, taking the
return value of the format function rather than the message property
since the latter only seems to contain the first line without the
traceback in the case of event handler failure. Other error cases were
tested and their message formatting is unaffected by this change.
Final part of the fix for [YOCTO #2651].
(Bitbake rev: 5bab81b124087d63d6eb62a861e1241714fcd483)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Error messages that use arguments need to be formatted properly, or we
don't get the full message. Use a formatter to do this when an error
occurs.
Partial fix for [YOCTO #2983].
(Bitbake rev: 6783538884adecd914909a9ab4ca73c27575f3ad)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
| |
Because class hcc is useless, remove it.
(Bitbake rev: 08d4a0f76542e05755c298b3875ea373e5512e13)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If users build images in Hob, record logs and allow users to retrieve the lo
after successful build.
The logs are generated if and only if:
- users do "just bake"
- users do "build image" after "build packages"
- users do "build packages" only
[YOCTO #1991]
(Bitbake rev: 291289787bb042b99f0599babc2d67c220aadb87)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added the qemu_image_kernel selection view box to image detail screen GUI, and
changed the 'run image' button clicked work flow.
[YOCTO #2155]
(Bitbake rev: d548eb8a03cfba5c64c018898972bc0a0bdb280c)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to show a friendlier error message that does not bury the
actual sanity error in our typical preamble about disabling sanity
checks, use a separate event to indicate that sanity checks failed.
This change is intended to work together with the related change to
sanity.bbclass in OE-Core.
Fixes [YOCTO #2336].
(Bitbake rev: 24b631acdaa143a4de39c6e1328849660c66f219)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After parsing recipes, Hob will populate recipes and packages, which is probably
time exhaused. So, this patch is to adjust the progress bar and ensure 100% is
set if and only if all populations are done.
The patch also fixes "weird 18 second delay when parsing recipes" on build appliance.
Because Hob is doing something, but the progress bar shows 100% and wait there.
[Yocto #2341]
(Bitbake rev: 2c4a21dc8a588c8cf05549ddd9734731a46bea10)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Define BBUI_IMAGE_WHITE_PATTERN variable to indicate which image is
allowed to be displayed in image combobox.
Define BBUI_IMAGE_BLACK_PATTERN variable to indicate which image is NOT
allowed to be displayed in image combobox.
This fixes [YOCTO #1581]
(Bitbake rev: 960461bc12945675af3081eb469f932f4a6eb1cd)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is to reimplement the proxy page in the "Advanced Settings" dialog
per the new design in https://bugzilla.yoctoproject.org/attachment.cgi?id=442
and https://bugzilla.yoctoproject.org/attachment.cgi?id=443.
[Yocto #2247]
(Bitbake rev: 911a60c09c1539a3f10c2bcdb26d40e458c31303)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We may meet certain command failure during build time, for example,
out of memory. In this case, we need to clear the "building" status.
This fixes [YOCTO #2371]
(Bitbake rev: 283dbbbf5d34adb4c9e3aa87e3925fdebe21ff42)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In original scheme, sanity check is part of the parsing process. If a
sanity check fails, it means the parsing is failed and values in Hob
GUI may not correct.
With this commit, Hob will actively issue sanity_check() after the
parsing is completed.
This fixes [YOCTO #2361]
(Bitbake rev: 36968815dcc91759eeacb308bf4b294af416eee5)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
To ensure the users configuration is sanity tested enable the sanity
checks after the GUI has started but before any parsing is done.
(Bitbake rev: 244ce2b900ae6cecbeeccfe2056e61c132476261)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
Create a wrapper with exception handling to call self.server.runCommand() safely.
Again, add exception handling to load_template() and save_template()
(Bitbake rev: cb07a027d3366ed30b0f7e5e85d08c6fda4eb5b9)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
This commit merges some functionalities together and avoid unnecessary
signal handling. This can help to speed up the Hob startup.
(Bitbake rev: e5a6eb4f007bf270f2fddc814eb856da46e20eee)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If NoProvider event is received, we will handle it in runningbuild
module and send notification to Hob instance, avoiding stepping into the
final page with no image built out.
This fixes [YOCTO #2249]
(Bitbake rev: 067bc46a0fbc542fef1fcaa406ad3737a4c5a55a)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is to remember layers and settings between Hob sessions, which
includes:
- Put some variables for the build details screen from Configuration to
Parameters because they are not actually for build but for show
- We create a dummy Configuration instance and a dummy Parameters instance
in __init__ of builder
- The two instances will be assigned the real values by
update_configuration_parameters() after parsing (in the event callback)
- When it is the first time to launch Hob in a build directory, nothing is
remembered since everything is fresh.
- The feature is implemented with templates, and based on the hook for Hob.
- When the user changes the layers or the settings, a default template file
is saved into ".hob/".
- Later on, the layers and the settings are remembered by loading the default
template automatically.
(Bitbake rev: f7c874ab930b9e7f95e79d0e84e62eb9b967f566)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Originally we use hardcoded "build" as the default task. This commit
fixes it by using BB_DEFAULT_TASK.
This fixes [YOCTO #2283]
(Bitbake rev: 7540f8d446345559ea9b47f4ff71d203ffdfaf8d)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If user selected a base image and didn't customize it, Hob will still
build the selected image instead of hob-image.
This fixes [YOCTO #2253]
(Bitbake rev: a74a6a033e66a0ae7b47c84d842bdd54066c69a1)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To make Hob's specific variable settings take effect, we add a Hob
config hook at the end of parsing for each configuration file, and in
the hook function, Hob will set its own variables to the data store.
This fixes:
[YOCTO #2210]
[YOCTO #2254]
(Bitbake rev: 0ec7d1bbfd2e09ae60f99e6134b20ffd1d9145b1)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
(Bitbake rev: e95b52820f26a7a35865e8978ea752053dccd4b1)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
(Bitbake rev: 7b6414e2b82666c3cfa5432ce8fe8c348b227441)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
(Bitbake rev: 684e0eddfbbb4618a1adcf179296f3f1066ae1c0)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
params["pmake"] should be in the format "-j int".
When loading/saving "PARALLEL_MAKE" into templates, configuration.pmake will be
converted into "-j int", as "PACKAGE_CLASSES" and "BBLAYERS" do.
For "PACKAGE_CLASSES" and "BBLAYERS", params["pclass"] and params["layer"] are
also strings rather than the types of configuration.curr_package_format and
configuration.layers.
(Bitbake rev: d49db15badb77855cef855ee73430fcbc16b6916)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
| |
Handle exceptions during type conversion into integers.
(Bitbake rev: e03da8876045af545303db2b8044a17657337140)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Originally we added -dev and -dbg postfixes to our selected packages as
toolchain packages. However, some package names are modified in recipes,
so we could not rely on its base name. The new approach is to detect if
a package is selected, then include those packages under the same recipe
endswith "-dev" and "-dbg".
This fixes [YOCTO #2185]
(Bitbake rev: f99c66071bce63780301e1639d74316503ca934c)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes, certain variables have duplicated values inside, for example,
IMAGE_FSTYPES = "tar.bz2 ext3 tar.bz2 ext3"
We need to remove the redundancy for those values.
(Bitbake rev: 98849cf9201239b23bbbe9247db4d6901f0ed905)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Define the empty curr_mach to be "" instead of None.
Fix the judgement for ' if self.curr_mach == "" ' to be
' if self.curr_mach '.
Also set machine to bitbake server when "MACHINE" is not empty.
(Bitbake rev: 662fa1b126d5b9b3a80193205c22b2fe29305185)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
(Bitbake rev: afd51c524006e8e6db1542cc2ebc5decab3faa1b)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
| |
Use string format to store image_fstype instead of a list.
(Bitbake rev: c91fe7f9d21939fd437dbd79a923499f90fc95c6)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
| |
When config reparse is issued (e.x, adding a layer), we will firstly
remember the past user settings by setting them to bitbake server,
and then do the reparse.
(Bitbake rev: 8a1f6953a082d8002585bfd9e8a67d2a7f69d6aa)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
(Bitbake rev: d0b64d901b33c9e5247dbb2b05c89a1d65abbf8b)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
While adding meta-hob layer, we need to detect whether it already
exists in current layers.
(Bitbake rev: b195823d19bcb71bd5eef19acfe22b2dd670d90a)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
(Bitbake rev: 9c632467eddc267ed54b78a40d5b1413287e3032)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is to read the proxy variables such as all_proxy, http_proxy, https_proxy, ftp_proxy, GIT_PROXY_HOST, GIT_PROXY_PORT, CVS_PROXY_HOST, and CVS_PROXY_PORT from the bitbake server, show them on the Settings dialog for users to change and set proxies for the build.
(From Poky rev: bbef66e4005def54d70d3720ec131fa7edc22e2a)
(Bitbake rev: 66c63167cd139706100bfa35eb4ca66c98407615)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the building log config information to get from the bitbake parameters directly, and then cancel the old way of filting the building log on running
[YOCTO #2144]
(From Poky rev: b52025a0fe2ca65e4d8549b1b90f5813b0c2e39f)
(Bitbake rev: 983f8848da0be02dadb1bb6530ff736325d014ba)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
| |
We should get TMPDIR from bitbake server instead of hardcode.
(Bitbake rev: 91bdd43468448385e07a57ac54ce25db9a8edf03)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Hob advanced setting, if "defaultsetup" is selected, we need to
leave DISTRO variable not set in bitbake server.
Otherwise, defaultsetup.conf will be parsed twice, causing TMPDIR and
its related variables mess up.
(Bitbake rev: 863b14ebf2c7443ce6df362f24af6395e520edbc)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement the filter for runqemu and deployment functionality.
runqemu
1) suffix should be in the list of RUNNABLE_IMAGE_TYPES.
2) machine should match the pattern of RUNNABLE_MACHINE_PATTERNS.
deployment:
1) suffix should be in the list of DEPLOYMENT_IMAGE_TYPES.
(Bitbake rev: de4d09a8d100b81622300db5f46627c649812abd)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
(Bitbake rev: c8d985ec971c3a18508f9c698cb2df2c1bf96e3a)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
This change allows adding extra inherits before getting all the
parameters.
(Bitbake rev: eb993c0bad03718f9d3e133667cd0fefca23611a)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
(Bitbake rev: 8bd6d8bb5e5ca0ca0ea2e2d31ffdc6df1aca16a2)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
The ASYNC commands can automatically detect if BB file parsing is needed.
Therefore remove this explicit parsing command.
(Bitbake rev: 73692cb55d7d5aaedfbcf6b8a24ab435a1d25a9e)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the GTK Hob will not use the server/client split model, thus
remove it from current Hob code. But we still keep the core mechanism
in bitbake server.
(From Poky rev: 983ea0265a53e0725dcbf9085ea767ebbc155ae5)
(Bitbake rev: 8c129e05a94d457860d883c9b2934a5559de8d9b)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|