You are reading the article How Apply Works In Kotlin With Examples updated in December 2023 on the website Katfastfood.com. We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested January 2024 How Apply Works In Kotlin With Examples
Introduction to Kotlin applyWeb development, programming languages, Software testing & others
SyntaxIn kotlin language, it has a lot of functions, classes, and other keywords for utilising the kotlin logic in the application. Like that, apply is one of the scope functions that can be used to configure the object once initialized and returns the object itself.
class name{ var vars:datatype; fun demo(){ ---some logic codes depends on the requirement— } } name().apply{ ---some codes--- }.demo()The above codes are the basic syntax for utilising the apply() method in the kotlin class object initialization and return type.
How does apply work in Kotlin?The kotlin application has some default functions that can be used to approach the top-level site in the file. It is needed for to create the class in to hold the reference of that class method. Kotlin apply is one of the extension functions that can be used on any of the types it runs on the object reference that can be of receiver format into the expression, and it returns the object reference. The apply function is similar to the run functionality, and it is only in terms of referring to the context of the object using “this” and other keywords like “it” in providing the null safety checks.
Apply keyword used in many cases that can be used with various scenarios, and it should be returned with an instance of Intent and an Alert dialog, etc. When we add the specific attributes in the application to them, it can be improved approach from the code snippet helps avoid variable names. The redundancy it thereby enhancing the code readability and the principle of code cleaning. We can see the other keywords and similar methods like run that accepts the return statement whereas the apply that does not accept a return object.
Examples of Kotlin applyGiven below are the examples of Kotlin apply:
Example #1Code:
class Firstclass { infix fun demo(s: String) { } fun example() { this demo "Please enter your input types" demo("Sivaraman") } } class Worker { var workerName: String = "" var workerID: Int = 0 fun workerDetails(){ lst.add("Employee Name is: XX, Employee ID is:001") lst.add("Employee Name is: XA, Employee ID is:001n") lst.add("Employee Name is: YB, Employee ID is:002n") lst.add("Employee Name is: YC, Employee ID is:003n") for(x in lst) print("The employee lists are iterated and please find your output results $x ") } } { Worker().apply{ this.workerName = "First Employee is Sivaraman" this.workerID = 52 }.workerDetails() data class First(var inp1 : String, var inp2 : String,var inp3 : String) var first = First("Welcome To My Domain its the first example that related to the kotlin apply() function","Have a nice day users","Please try again") first.apply { chúng tôi = "Welcome To My Domain its the first example that related to the kotlin apply() function" } println(first) with(first) { inp1 = "Please enter your input types" inp2 = "Please enter your input types" } println(first) }Output:
In the above example, we performed the employee details using the default methods.
Example #2Code:
interface firstInterface { val x : Int val y : String get() = "Welcome To My Domain its the second example that related to the kotlin also() method" } interface secondInterface { fun Sample1(){ println("Your Sample1 Method") } } class Second : firstInterface, secondInterface { override val x : Int get() = 52 override fun Sample1() { println("Have a Nice Day users please try again") } private val res = "firstInterface Second" fun eg() = "This is the second we discussed regarding kotlin also() method" } class Business { var bName: String = "" var GST: String = "" var Location: String = "" var year: Int = 0 fun enteredNewEmployees(bn: String, gst: String, loc: String, yr: Int) { bName = bn GST = gst Location = loc year = yr println("Please see the below new business name: $bName") println("Please see the Business id: $GST") println("Your Location is: $Location") println("The Cross year of the new business is : $year") } fun NewBusinessName(bn: String) { this.bName = bn } } { data class Car(var carName: String, var CarModel : String) var nw = Car("Benz", "AMGE53") nw.apply { CarModel = "RangeRover Evoque" } println(nw) nw.also { it.CarModel = "Audi A6" } println(nw) val ob = Second() ob.Sample1() var ob1 = Business() var ob2 = Business() ob1.enteredNewEmployees("VSR Garments", "33ACKPV67253278", "TUP", 1994) ob2.NewBusinessName("Raman") println("bName of the new Business: ${ob2.bName}") val s = Second() println(s) println(s.eg()) }Output:
Example #3Code:
{ data class Third(var str1: String, var str2 : String) var third = Third(“Siva”, “Raman”) println(“Welcome To My domain its the third example that related to the kotlin apply() method”) third.apply { str2 = “Sivaraman” } println(third) third.also { chúng tôi = “Dell” } println(third) with(third) { str1 = “Sivaraman is the Employee working in XX company” str2 = “He is using the DELL Laptop which provided by his office” } }
Output:
In the final example, we used default methods like also(), apply(), and with() methods for to perform the user operations in the application.
ConclusionIn kotlin language has some default scope functions for performing the operations in the kotlin application. Moreover, it has some default extension functions for doing something with an object, and it returns the value. Also, if we need to perform some other operations on an object and it returns some other object, we can utilise it.
Recommended ArticlesThis is a guide to Kotlin apply. Here we discuss the introduction, syntax, and working of apply in Kotlin along with different examples for better understanding. You may also have a look at the following articles to learn more –
You're reading How Apply Works In Kotlin With Examples
How Stack Works In Docker With Examples?
Introduction to Docker Stack
The ‘docker stack’ is a Docker command to manage Docker stacks. We can use this command to deploy a new stack or update an existing one, list stacks, list the tasks in the stack, remove one or more stacks, and list the services in the stack. Stacks can only be deployed in Docker swarm mode, which comes bundled with the Docker engine, eliminating the need for additional package installations.
Start Your Free Software Development Course
Web development, programming languages, Software testing & others
Syntax:
docker stack [OPTIONS] COMMAND
Options:
deploy: It is used to deploy a new stack or update an existing stack
ls: It is used to list stacks
ps: It is used to list the tasks in the stack
rm: It is used to remove one or more stacks at the same time
services: It is used to list the services in the stack
We can use the ‘–help’ option to learn more about this command, as shown below:
docker stack --help
We can get more information on any of the above commands using the ‘–help’ command as shown below: –
docker stack deploy --help
How Stack works in Docker?We must pass a ‘docker-compose.yaml’ file as an argument to the ‘docker stack deploys’ command using the ‘–compose-file’ or ‘-c’ option. The ‘docker-compose.yaml’ file comprises services, volumes, networks, and other necessary configurations to launch a comprehensive application. The Docker daemon adds a stack name before service, volume, or network names.
The Docker images mentioned in the compose file are either available on any Docker registry, it might be a private or public registry, or available on all nodes in that swarm, otherwise, container creation will fail.
ExamplesLet’s create a simple Python application and deploy it in a Docker Swarm.
First of all, create a local Docker register running as a service using the below command:
docker service create --name my-registry -p 5000:5000 registry:2
Note: We need to initialize the Docker swarm (if not initialized already) using the ‘docker swarm init’ command before running the above command.
Now, let’s verify that the service is running fine and the registry is accessible, as shown below:
docker service ls
Explanation: We can see that the service is replicated and can access the local host successfully.
Let’s work on the application now; we are going to create a Python application with the code mentioned below, however, we can use any application: –
test-app.py
Code:
app.run(host=”0.0.0.0″, port=8000, debug=True)
We have used Flask and Redis in our Python application, so we need those packages to run the application, so here is the chúng tôi file that we are going to use while building the Docker image.
Here is the snippet of Dockerfile to build a Docker image: –
Dockerfile
CMD [“python”, “test-app.py”]
Let’s build the Docker image now and push it to the local registry as shown below: –
docker push localhost:5000/test-app
Let’s create the ‘docker-compose.yml’ file with two services: ‘web’ and ‘redis’.
docker-compose.yml
image: redis:alpine
Finally, deploy our first Docker stack using the above ‘docker-compose.yml’ file and name it ‘my-first-stack’ as shown below: –
docker stack deploy --compose-file chúng tôi my-first-stack
The given example shows that the services and networks have been labeled with the stack name.
Let’s check if it is deployed successfully using the ‘docker stack ls’ command as below: –
docker stack ls
We can use the below command to know more about services running under this stack: –
docker stack services my-first-stack
In the above snapshot, we can see that 1 replica is running out of 1 for both services. Suppose there is 0 replica showing, which means that the service is not deployed successfully. Check the containers and their logs to troubleshoot.
docker stack ps my-first-stack
Let’s test the application by connecting to it as shown below: –
Hurray, we are able to access our application. Let’s do other ‘docker stack’ commands.
docker stack rm my-first-stack
Based on your description, in the provided snapshot, it appears that all services and networks created during the deployment of the stack are being removed.
Advantages
It makes it easier to manage all components of an application.
We can deploy a highly available application using the Docker stack as it works in Swarm mode.
We can use different orchestrators like Kubernetes as well.
ConclusionWe use ‘docker stack’ most of the time while deploying applications in production to make them highly available. It only works in Swarm mode, so we must have to activate or initialize Swarm mode.
Recommended ArticlesThis is a guide to Docker Stack. Here we discuss the introduction to Docker Stack and How Stack works in Docker. You may also have a look at the following articles to learn more –
How Kafka Topic Works With Examples?
Introduction to Kafka Topic
The Kafka, we are having multiple things that are useful for real-time data processing. It is useful to store the records or data and publish. The topic will further be distributed on the partition level. The same functionality will helpful for the better reliability of the data. It will also helpful for the data or record replication (subject to cluster configuration). As per the requirement, we can store the record or data on the topic partition. While storing the data, the offset key plays an important role. With the help of this, we are able to store the data or record on the different partition with different offset keys.
Start Your Free Data Science Course
Hadoop, Data Science, Statistics & others
Syntax:
./kafka-topics.sh --create --zookeeper 10.10.132.70:2181 --replication-factor 1 --partitions 1 --topic kafka_topic
Shell Script: To create the Kafka topic, we need to use the chúng tôi file or script. We can use the default Kafka topic variable also.
Zookeeper: In the topic command, we need to pass the zookeeper server details.
Replication: We need to define the replication value. As per the recommended value, we need to define it as 3.
Partition: We can also define the partition while creating the topic.
Topic Name: At the end, we need to define the topic name.
How Kafka Topic Works?It is useful to store the records or messages on a specific topic. For the proper data manipulation, we can use the different Kafka partition. Here, we can use the different key combinations to store the data on the specific Kafka partition.
Below are the lists of configuration options:
1. create. topics. enable: It will help to create an auto-creation on the cluster or server environment.
Update Mode: read-only
2. topic. enable: It will help to enable the delete topic. We can use the Kafka tool to delete. There is no impact if we will have no effect if we will disable the config with offsetting.
Update Mode: read-only
3. topic. compression.codec: With the help of this topic, we can compress codec for the offset topic. To get the automatic commit option, we need to use this configuration property.
Update Mode: read-only
4. topic. num.partitions: It will help for the number of topic partitions (point to the offset commit topic). Once the configuration was done at the time of deployment. After that, it will not change.
Valid Values: [ 1, … ] Update Mode: read-only
5. topic. replication.factor: It will help to set the replication factor of the Kafka offset topic. If we will choose the higher replication value then we will get the higher availability of the data. While creating the internal Kafka topic if we haven’t set the proper replication factor then it may get an error while creating a Kafka topic.
Valid Values: [1,…] Update Mode: read-only
Valid Values:[1,…] Update Mode: read-only
7. replication.factor: It will help to set the default replication factors. It will implement for the automatic Kafka topic creation.
8. partitions: It will help to for the default number of log partitions per Kafka topic.
Valid Values: [1,…] Update Mode: read-only
9. topic.policy.class.name: With the help of this property, we can create the topic policy class. Basically, it will use for validation purposes. The same configuration will help for the class (for the implementation of the org.apache.Kafka.server.policy.CreateTopicPolicy interface).
Update Mode: read-only
Example for the Kafka TopicOverview
As we have discussed with the multiple components in the Kafka environment. We will create the Kafka topic in multiple ways like script file, variable path, etc. As per the production Kafka environment, it will be recommended that we need to go with Kafka topic replication value 3.
Syntax :
./kafka-topics.sh --create --zookeeper 10.10.132.70:2181 --replication-factor 1 --partitions 1 --topic KafkaTopic1
Explanation:
As per the above command, we are creating the Kafka topic. Here we are using the zookeeper host and port (Hostname: 10.10.132.70, Port No: 2181). Need to define the replication factor i.e. 1 and define the number of partition in the topic. At the last, we need to provide the topic name i.e. KafkaTopic1.
As per the below Screenshot 1 (B), we have connected the environment with the Kafka tool. Here, we need to define the zookeeper configuration in th tool.
As per the below Screenshot 1 (C), we can get the newly created Kafka topic in the Kafka tool. We will get detail information of Kafka topic like partition information, etc.
Output :
Screenshot 1 (A)
Screenshot 1 (B)
Screenshot 1 (C)
ConclusionWe have seen the uncut concept of “Kafka Topic” with the proper example, explanation, and cluster method. It is very important in terms of Kafka environment. It will help to store the messages or records on the Kafka topic. We can create multiple partitions. We can use the different offset keys to store the records or messages into the different Kafka partitions.
Recommended ArticlesThis is a guide to Kafka Topic. Here we discuss the introduction, syntax, How Kafka Topic Works? and examples with code implementation. You may also have a look at the following articles to learn more –
Guide On How Set Works In Rust With Examples?
Definition of Rust Set
Rust set is a very important data structure of rust programming language and helps in identifying the key present in the set which possess the required element. Sets in rust programming language mostly revolve around the keys, not the values, as mostly the key associated with the element is enough to retrieve the information about any element. Sets can perform various operations like union, difference, symmetric difference, and intersection on the available data, which programmers mostly adopt. HashSet and BTreeSet, which are important in Rust, make up the majority of sets.
Start Your Free Software Development Course
Web development, programming languages, Software testing & others
The syntax flow for Rust Set is as follows :
use std::collections : : HashSet; let mut var_0 = HashSet : : new (); var_0.insert("some_val"); { Logic to be implemented } Functional calls ; Where,HashSet is imported as part of the standard library and collections in Rust, followed by a conventional variable where the provisioning for insertion of elements is done using the new keyword, and then the value is created to implement the logic and to perform further functional calls from the set comprising of elements.
How set works in Rust?
Working of set in Rust is used and performed for various operations and activities that make this data structure quite useful in terms of adaptation by programmers.
Sets in Rust have the unique feature of wrapping the keys and mapping appropriately, which guarantees not to possess duplicate elements.
Hash set and B-tree Set are part of the sets in Rust which is also part of the hashmap whose values are not much important, but keys present play a crucial role.
If two keys present are equal, then their hashes will also be the same or equal it should not be unique in nature.
If, in a scenario, some logic error happens, then in that case, the eq and the hash values present might get differ and will create a lot of commotion in terms of execution; thus, it is important to keep in mind the equality trait or hash trait to determine properly while it is present in that set.
The scenario mentioned so far arises only in case of un-equal code or by following wrong practices when implementing the code in a rust programming language.
If the hash implementation differs for a given key, it can lead to a panic, causing the contents within the hash set to become corrupted and potentially useless. In such cases, it may be necessary to drop or remove the affected elements.
You can create a HashSet by initializing and implementing a fixed list of elements from the defined arrays.
To display and perform operations such as symmetric difference, difference, union, and intersection on the elements present in the array, you will need to import the hashbrown and HashSet modules from the standard collection.
The standard inbuild library comprising of HashSet needs to be imported initially to perform any operation related to Sets and keys with associated values; otherwise, the execution will not be proper and might get distorted, thus throwing exceptions and errors.
Some inbuild hash functions, like a hash drain and hash brown, and many others, need version compatibility. Each version’s standard collection might get different or the library might have been deprecated.
Programmers often adopt sets to enhance computational power by utilizing operations such as union, intersection, difference, and symmetry. These operations enable efficient and speedy manipulation of sets.
ExamplesLet us discuss examples of Rust Set.
Example #1This program demonstrates the Rust hash set, which demonstrates the union operation by inserting the elements and representing them as shown in the output.
Code:
use std::collections::HashSet; fn main() { assert!(x.insert(6)); assert!(y.contains(&6)); y.insert(7); println!("X: {:?}", x); println!("Y: {:?}", y); }Output:
Example #2In this program, we demonstrate the use of hash sets in Rust. We calculate the differences between two sets and display the results in the output below.
Code:
use std::collections::HashSet; fn main() { assert!(x.insert(6)); assert!(y.contains(&6)); y.insert(7); println!("X: {:?}", x); println!("Y: {:?}", y); } Example #3This program demonstrates the representation of a fixed set of elements which in this case is fruits from the set of defined arrays as shown in the output.
Code:
use std::collections::HashSet; fn main() { [ "apple", "kiwi", "Mango", "Guava" ].iter().cloned().collect(); for x_0 in &fruits { println!("{:?}", x_0); } }Output:
Example #4This program showcases a hash set where the elements contained within the hash set named “set_08” are iterated and printed in an arbitrary order, as displayed in the output.
Code:
use std::collections::HashSet; fn main() { assert!(!set_08.is_empty()); for i_0 in set_08.drain() { println!("{}", i_0); } assert!(set_08.is_empty()); } Example #5This program showcases the Rust set by measuring the number of elements, inserting elements, and asserting their equality.
Code:
use std::collections::HashSet; fn main() { let mut v_l_0 = HashSet::new(); assert_eq!(v_l_0.len(), 0); v_l_0.insert(1); assert_eq!(v_l_0.len(), 1); println!("{:?}", v_l_0); }Output:
ConclusionMost programmers have embraced Rust as a programming language following the emergence of the C language. Rust’s data structure capabilities have introduced increased flexibility and adaptability, enabling the execution of various operations and manipulations. It makes Rust programming interesting and enhances learning and skill development due to its versatile nature.
Recommended ArticlesWe hope that this EDUCBA information on “Rust Set” was beneficial to you. You can view EDUCBA’s recommended articles for more information.
Learn How Xml Dom Works Along With The Examples?
Introduction to XML DOM
Web development, programming languages, Software testing & others
DOM was first developed after W3C (World wide web consortium) recommendations in 2004. Later this is handled by WHATWG (Web hypertext application technology working group). Major web technology contributors like Google, Microsoft, apple came together to be part of this group to set global web standards to be followed word wide for easy and fast data transmission in the era of connectivity and diversity of technologies.
How XML DOM Works?DOM divides any XML or HTML document into tree structure making any document very easy to access and manipulate. This can be well understood by demonstrating this concept with the help of an example.
XML Code:
The code written above is the example of document implementing DOM in it. The structure above has a parent node called: “school”. It is called as “root” node as this is the main node which becomes the start node of a given tree. This school node has three child nodes “student” having their own characteristics which are stored in the form of data in these nodes. Characteristic nodes here are “firstname”, “lastname” and “phonenumber”. These nodes will be child nodes of the parent node called “student”. The last node of the tree is called as “leave” nodes. In this case, the leave nodes are “lastname”, “firstname and “phonenumber”. The actual data is finally stored in leave nodes. We have the “attribute” nodes “category” containing information about the subject stream of the student. This tree structure simplifies the data storage scheme and standardizes it as well. This is the reason it becomes faster to access the data.
Important features of XML DOM
Any node can have only one parent node. There cannot be a two-parent node for a single node.
A parent node can have more than one child nodes though.
Child nodes can have their child nodes assigned in any numbers.
Child nodes can have other types of nodes assigned to them called “attribute” nodes. These nodes are used to contain some extra characteristics of the node. This node is different than the child node.
The nodes of the same level in a tree are called “sister” nodes.
DOM identifies the structure of information stored in a hierarchy.
DOM is used to establish a relationship between data stored in different nodes.
ExamplesBelow is the working code of XML DOM. We can copy this code in notepad and save it using “file.xml”. This can be run in the browser then to check the result. This code has an XML file that follows DOM scheme. We are using “id” as a start point. WE are passing the XML data structure in the script. Then we are using xml parser to extract the value/data from the XML structure using node.
IN this example the name, contact number and the passing year is stored as child node data under student node. “student” node is the child node for parent node called “studentdetails” Here the root node is “studentdetails” as this is the originating node for this tree structure. There are no characteristics assigned to the nodes. We are extracting data at the eb=nd by using tag anme and child node index. In the below example we are extracting the name of the student. DOMParser() is the function used to extract the XML code from the text string passed in the program. DOMParser() is the function defined with an efficiency to extract the XML type code using tags from the normal string passed.
XML Code:
Output:
ConclusionXML DOM is one of the ways to extract data from XML Documents. DOM not only is a standardized way for XML documents but also used by developers for data extraction of HTML documents. This gives a lot of flexibility for data access and dynamic changes in the web pages. This was designed to keep the world standards in mind so that browsers operating in a different programming language can have a common structure to define data over the net. This makes data access symmetric across the globe irrespective of the browser installed in the local machine.
Recommended ArticlesThis is a guide to XML DOM. Here we discuss How XML DOM Works along with the Important features and examples. You may also have a look at the following articles to learn more –
Learn How Oracle Ebs Works Along With The Examples?
Introduction to Oracle ebs
Oracle EBS includes different types of integrated business applications that are provided by the oracle. The full form of EBS is the Oracle E-Business Suite. Basically, it is used to combine all the oracle applications that are helpful to businesses with their wide variety of processes. Mainly it focuses on enterprise resource planning, how we can build a customer relationship that is customer relationship management and supply chain management. Oracle database management system is the most widely used oracle enterprise software package and is also the core technological driver of the package. The EBS mainly allows us to upload and analyze data as well as mapping metadata for Hyperion EBS. The first time it was released was in 2001 and after that oracle has continuously updated the EBS packages.
Start Your Free Data Science Course
Hadoop, Data Science, Statistics & others
How Oracle ebs works?Basically, it is work on different major factors as follows.
Enterprise Resource Planning
The main thing about the EBS suite is that it works the same as an ERP application. The EBS suite allows users to have a single resource truth for uploading and analyzing their data. In which we can include Hyperion EBS integration which provides the mapping functionality and that is helpful for extracting data and metadata. The main purpose of Enterprise Resource Planning is to improve collaboration work and also reduce the cost.
Customer Relationship Management
Customer Relationship Management means CRM, in which that single source of truth for all of its CRM processes. Mainly CRM is used to build relationships with customers to improve the business that means it is a business intelligence application tool that is helpful to improve the business.
Supply Chain Management
Oracle supply chain management is the most important factor in EBS because it brings all various feedback related to products or services. This is helpful to design the product and how we can provide it better to the customer. It mainly focuses on finding errors and bugs with the huge amount of data produced. It includes order and price management well as also deals with logistics and transportation management.
Oracle Financials
This includes cash management, which is payables, receivables, and general ledger.
Human Resource Management System
This helps to manage all recruitment process and this module gives users real-time views of all HR activities, including training, time management, payroll, and other benefits.
Oracle Logistics
The oracle logistics allow the user to plan, manage and control the flow of products and services within the business. It also provides information about the future plan as well as safety stock within the peculiar warehouse.
Order Management
This module is used to manage the entire business sales order management process.
Transportation Management
Transportation management is used to manage the transportation planning and execution capabilities of third-party logistics providers and shippers. Advantages of transportation management are reducing the transportation costs as well as customer service.
Warehouse Management System
Oracle warehouse management system is used to manage goods and their information within the distribution process. This module provides business processes that can be helpful for managing the employee, equipment within the distribution process.
Advantages
Oracle ebs is used to manage global businesses.
It also helps to facilitate decision-making.
Oracle is used to reduce the cost of products and provides better service to the customer.
Oracle ebs support different tools such as CRM, ERP, and SCM.
With the help of CRM tools, we manage the order of customers, provide better service to the customer that means we can build a relationship with the customer, this is nothing but the CRM.
Oracle ebs is very fast and reliable and it has the ability to customize the aas per the requirement.
The GUI of oracle ebs is not straightforward and it is not user-friendly.
Oracle ebs required a high maintenance cost which is not affordable for small organizations.
Oracle ebs deployment and customization required more efforts as well as it also required coordination between departments and developers.
In oracle ebs online patching required more error-free.
The problem in launching the multiple forms sessions.
ExamplesNow let’s see different examples of oracle ebs as follows.
First, we need to login into the oracle integration cloud service.
In the above screenshot, we show how we can build the connection. This is the reference screenshot from the official oracle website.
After that, we need to select an agent group
Select the desired agent group like EBS after that we need to specify the connection details as shown in the above screenshot. Then test the connection and save the setting. Selecting agent group as shown below screenshot.
So we successfully establish the connection and also we add the EBS agent group. Then the next step is to select the web services as shown in the screenshot below.
After that, we need to select the process order method from the operation page as shown in the below screenshot.
We see the summary by using the summary page option, below screenshot shows the summary of the target endpoint.
Above mentioned all screenshots we take from the official website of the oracle.
In this way, we can perform different operations with the help of oracle ebs.
Conclusion Recommended ArticlesUpdate the detailed information about How Apply Works In Kotlin With Examples on the Katfastfood.com website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!