Application

Chose application
.NET Native Web Flutter
Chose version
ver. 14.0 ver. 13.0 ver. 12.0 ver. 11.0 ver. 10.0 ver. 9.0 ver. 8.0 ver. 7.0 ver. 6.0 ver. 5.0 ver. 4.0
Choose device
View is the fundamental concept for all the UI components such as <code>Button<\/code>, <code>Image<\/code>, <code>Text<\/code>, and so on.\n<code>View<\/code> provides <a href=https://samsungtizenos.com/"..//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#properties\">Properties<\/a>, <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#methods\">Methods<\/a>, and <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#events\">Events<\/a> that are commonly used on every components. To render <code>View<\/code>, you must add it on <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.Window.md/">Window as a child.<\/p>\n<p><a name=\"1\"><\/a><\/p>\n<h2 id=\"content-transforms\"><a href=https://samsungtizenos.com/"#content-transforms\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Transforms<\/h2>\n<p><code>Position<\/code>, <code>Orientation<\/code>, and <code>Scale<\/code> of <code>View<\/code> are known as transforms.\n<code>View<\/code> supports hierarchical structure. Therefore, <code>Position<\/code>, <code>Orientation<\/code>, and <code>Scale<\/code> of every <code>View<\/code> are affected by their parents.<\/p>\n<p>The <code>Position<\/code> of each <code>View<\/code> is defined as the distance between the position of <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#Tizen_NUI_BaseComponents_View_ParentOrigin\">ParentOrigin<\/a> and <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#Tizen_NUI_BaseComponents_View_PivotPoint\">PivotPoint<\/a> of the <code>View<\/code>. The <code>ParentOrigin<\/code> is a property that defines the reference point in the parent <code>View<\/code>, whereas the <code>PivotPoint<\/code> is a property that defines the anchor point of the child. The default value for both <code>PivotPoint<\/code> and <code>ParentOrigin<\/code> is <strong>TopLeft<\/strong>. For instance, if the <code>Position<\/code> property of the <code>View<\/code> is set to (5, 3) coordinates, the <code>ParentOrigin<\/code> property is set to <strong>Center<\/strong>, and the <code>PivotPoint<\/code> property is set to <strong>TopLeft<\/strong>, then the <strong>TopLeft<\/strong> of the object is located (5, 3) coordinates away from the <strong>Center<\/strong> position of its parent's <code>View<\/code> object.<\/p>\n<p>In addition, if the <code>ParentOrigin<\/code> property is changed to <strong>BottomRight<\/strong>, then the position of the <strong>TopLeft<\/strong> corner of the <code>View<\/code> will be located (5, 3) coordinates from the <strong>BottomRight<\/strong> corner.<\/p>\n<p>NUI provides predefined <code>ParentOrigin<\/code> as well as <code>PivotPoint<\/code> positions as shown in the following figure, and you can also use custom values for setting the position:<\/p>\n<p><strong>Figure: Predefined positions for ParentOrigin and PivotPoint<\/strong><\/p>\n<table style=\"width:100%\">\n<tr>\n<td style=\"width:100%\" align=\"center\">\n<img src=https://samsungtizenos.com/"media//view_Figure_ParentOrigin_PivotPoint.png/">/n/n/n/n

The following figure shows three cases of parent <code>View<\/code> and its child <code>View<\/code>. The parent <code>View<\/code> is represented by blue color and child <code>View<\/code> is represented by red color.\nIn the following examples, all of the red-colored <code>View<\/code> coordinates are identically located at (3, 5) of its parent coordinate system, which is based on the <code>ParentOrigin<\/code> property of the child <code>View<\/code>. <code>PivotPoint<\/code> is set to default <strong>TopLeft<\/strong>:<\/p>\n<p><strong>Figure: The final position with different ParentOrigin<\/strong><\/p>\n<table style=\"width:100%\">\n<tr>\n<td style=\"width:100%\" align=\"center\">\n<img src=https://samsungtizenos.com/"media//view_Figure_Position.png/" width=\"100%\">\n<\/td>\n<\/tr>\n<\/table>\n<p>Alternatively, you can use an arbitrary <code>Position<\/code> type value defined in the unit coordinates to set <code>ParentOrigin<\/code> without predefined values.<\/p>\n<p>The <code>Orientation<\/code> of <code>View<\/code> is the rotation from its default orientation. <code>Scale<\/code> of <code>View<\/code> is the size ratio between the size to be rendered and the default size. For these two transforms, <code>View<\/code> is rotated and scaled around <code>PivotPoint<\/code>.<\/p>\n<p><code>Orientation<\/code> and <code>Scale<\/code> of <code>View<\/code> are also affected by the transforms of its parent. In the final calculation of <code>View<\/code>, <code>Orientation<\/code> and <code>Scale<\/code> of parents are first applied to the child <code>View<\/code> with parent's <code>PivotPoint<\/code>, and then <code>Orientation<\/code> and <code>Scale<\/code> of child are applied.<\/p>\n<p>The following examples demonstrate the rotation and scaling that change <code>Orientation<\/code> and <code>Scale<\/code> respectively. <strong>View A<\/strong> is a child of <strong>View B<\/strong>. Therefore, transforms of <strong>A<\/strong> only affects <strong>A<\/strong>. However, the transforms of parent <strong>B<\/strong> influences its child <strong>A<\/strong>. The black dot in the figure is <code>PivotPoint<\/code> that is used by the transforms.<\/p>\n<p><strong>Figure: Rotation and Scaling.<\/strong><\/p>\n<table style=\"width:100%\">\n<tr>\n<td style=\"width:50%\" align=\"center\">\n<img src=https://samsungtizenos.com/"media//view_Figure_Orientation.gif/" width=\"100%\">\n<\/td>\n<td style=\"width:50%\" align=\"center\">\n<img src=https://samsungtizenos.com/"media//view_Figure_Scale.gif/" width=\"100%\">\n<\/td>\n<\/tr>\n<\/table>\n<p><a name=\"2\"><\/a><\/p>\n<h2 id=\"content-directional-navigation\"><a href=https://samsungtizenos.com/"#content-directional-navigation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Directional navigation<\/h2>\n<p>NUI also provides directional navigation between each <code>View<\/code> using arrow keys on the keyboard. You can simply set the following properties to specify the next <code>FocusableView<\/code> for each direction:<\/p>\n<ul>\n<li>\n<p><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#Tizen_NUI_BaseComponents_View_UpFocusableView\">View.UpFocusableView<\/a><\/p>\n<\/li>\n<li>\n<p><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#Tizen_NUI_BaseComponents_View_DownFocusableView\">View.DownFocusableView<\/a><\/p>\n<\/li>\n<li>\n<p><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#Tizen_NUI_BaseComponents_View_LeftFocusableView\">View.LeftFocusableView<\/a><\/p>\n<\/li>\n<li>\n<p><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#Tizen_NUI_BaseComponents_View_RightFocusableView\">View.RightFocusableView<\/a><\/p>\n<\/li>\n<\/ul>\n<p>When an arrow key is pressed and the current <code>View<\/code> has next <code>FocusableView<\/code> for that direction, the system passes focus to the next <code>FocusableView<\/code>. However, if the current <code>View<\/code> does not have the next <code>FocusableView<\/code> for the direction or the next <code>ForcusableView<\/code> is not on the window, the property returns <code>NULL<\/code> and no change occurs.<\/p>\n<p><a name=\"3\"><\/a><\/p>\n<h2 id=\"content-view-event\"><a href=https://samsungtizenos.com/"#content-view-event\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>View event<\/h2>\n<p><code>View<\/code> provides a variety of events that are commonly used by the components. The following table lists the basic events provided by <code>View<\/code>:<\/p>\n<p><strong>Table: View events<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Event<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>KeyEvent<\/code><\/td>\n<td>Triggered when the key input is received.<\/td>\n<\/tr>\n<tr>\n<td><code>TouchEvent<\/code><\/td>\n<td>Triggered when the touch input is received.<\/td>\n<\/tr>\n<tr>\n<td><code>HoverEvent<\/code><\/td>\n<td>Triggered when the hover input is received.<\/td>\n<\/tr>\n<tr>\n<td><code>WheelEvent<\/code><\/td>\n<td>Triggered when the wheel input is received.<\/td>\n<\/tr>\n<tr>\n<td><code>FocusGained<\/code><\/td>\n<td>Triggered when the control gets the key input focus.<\/td>\n<\/tr>\n<tr>\n<td><code>FocusLost<\/code><\/td>\n<td>Triggered when the control loses key input focus.<\/td>\n<\/tr>\n<tr>\n<td><code>Relayout<\/code><\/td>\n<td>Triggered after the size has been set on View during relayout.<\/td>\n<\/tr>\n<tr>\n<td><code>LayoutDirectionChanged<\/code><\/td>\n<td>Triggered when the layout direction property of View or its parent View is changed.<\/td>\n<\/tr>\n<tr>\n<td><code>AddedToWindow<\/code><\/td>\n<td>Triggered after View has been connected to the window.<\/td>\n<\/tr>\n<tr>\n<td><code>RemovedFromWindow<\/code><\/td>\n<td>Triggered after View has been disconnected from the window.<\/td>\n<\/tr>\n<tr>\n<td><code>VisibilityChanged<\/code><\/td>\n<td>Triggered when the visible property of View or parent View is changed.<\/td>\n<\/tr>\n<tr>\n<td><code>ResourcesLoaded<\/code><\/td>\n<td>Triggered after all the resources required by View are loaded and ready.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>You can create custom <code>callback<\/code> methods with event handler for each <code>Event<\/code>.<\/p>\n<p>Input <code>Event<\/code> such as <code>KeyEvent<\/code> and <code>TouchEvent<\/code> is first received on the current focused <code>View<\/code> to be handled. However, if the focused <code>View<\/code> is not having a proper event handler, then the <code>Event<\/code> is delivered to its parent <code>View<\/code> iteratively until it can be consumed.<\/p>\n<p>The following code explains how to handle <code>Event<\/code> with a simple example of <code>TouchEvent<\/code>. If you touch the blue <code>View<\/code> then the background color is changed:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">View<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">touchedView<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">View<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">touchedView.BackgroundColor <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> Color.Blue;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/ Attach callback method<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">touchedView.TouchEvent <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> ViewTouchEventCallBack;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">..<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/ Custom callback method<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">private<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">bool<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">ViewTouchEventCallBack<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">object<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">View<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">TouchEventArgs<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">e<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">View<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">touchedView<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> sender <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">as<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">View<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">if<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (e.Touch.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetState<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">) <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">==<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> PointStateType.Down)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> touchedView.BackgroundColor <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> Color.Red;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">return<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">true<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p><strong>Figure: TouchEvent example<\/strong><\/p>\n<p><img src=https://samsungtizenos.com/"media//view_Figure_Touch.gif/" alt=\"View with a background image\" \/><\/p>\n<h2 id=\"content-related-information\"><a href=https://samsungtizenos.com/"#content-related-information\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Related information<\/h2>\n<ul>\n<li>Dependencies\n<ul>\n<li>Tizen 4.0 and Higher<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-transforms\">Transforms<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-directional-navigation\">Directional navigation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-view-event\">View event<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-related-information\">Related information<\/a><\/li>\n<\/ul>\n","title":"View","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"Vtlq1n7o9il3FolABYQT","name":"documentation::article","path":"docs\/application\/dotnet\/guides\/user-interface\/nui\/view","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"9b0e62a4e8f69cd4cc2e08f5b9b6d73baffc1b11ddefd0a36970a704e1037023"}" wire:effects="[]" wire:id="Vtlq1n7o9il3FolABYQT" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtdmlld1wiPjxhIGhyZWY9XCIjY29udGVudC12aWV3XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5WaWV3PFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbjxwPjxhIGhyZWY9XCIuLlwvLi5cLy4uXC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OVUkuQmFzZUNvbXBvbmVudHMuVmlldy5tZFwiPlZpZXc8XC9hPiBpcyB0aGUgZnVuZGFtZW50YWwgY29uY2VwdCBmb3IgYWxsIHRoZSBVSSBjb21wb25lbnRzIHN1Y2ggYXMgPGNvZGU+QnV0dG9uPFwvY29kZT4sIDxjb2RlPkltYWdlPFwvY29kZT4sIDxjb2RlPlRleHQ8XC9jb2RlPiwgYW5kIHNvIG9uLlxuPGNvZGU+VmlldzxcL2NvZGU+IHByb3ZpZGVzIDxhIGhyZWY9XCIuLlwvLi5cLy4uXC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OVUkuQmFzZUNvbXBvbmVudHMuVmlldy5tZCNwcm9wZXJ0aWVzXCI+UHJvcGVydGllczxcL2E+LCA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OVUkuQmFzZUNvbXBvbmVudHMuVmlldy5tZCNtZXRob2RzXCI+TWV0aG9kczxcL2E+LCBhbmQgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTlVJLkJhc2VDb21wb25lbnRzLlZpZXcubWQjZXZlbnRzXCI+RXZlbnRzPFwvYT4gdGhhdCBhcmUgY29tbW9ubHkgdXNlZCBvbiBldmVyeSBjb21wb25lbnRzLiBUbyByZW5kZXIgPGNvZGU+VmlldzxcL2NvZGU+LCB5b3UgbXVzdCBhZGQgaXQgb24gPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTlVJLldpbmRvdy5tZFwiPldpbmRvdzxcL2E+IGFzIGEgY2hpbGQuPFwvcD5cbjxwPjxhIG5hbWU9XCIxXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC10cmFuc2Zvcm1zXCI+PGEgaHJlZj1cIiNjb250ZW50LXRyYW5zZm9ybXNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlRyYW5zZm9ybXM8XC9oMj5cbjxwPjxjb2RlPlBvc2l0aW9uPFwvY29kZT4sIDxjb2RlPk9yaWVudGF0aW9uPFwvY29kZT4sIGFuZCA8Y29kZT5TY2FsZTxcL2NvZGU+IG9mIDxjb2RlPlZpZXc8XC9jb2RlPiBhcmUga25vd24gYXMgdHJhbnNmb3Jtcy5cbjxjb2RlPlZpZXc8XC9jb2RlPiBzdXBwb3J0cyBoaWVyYXJjaGljYWwgc3RydWN0dXJlLiBUaGVyZWZvcmUsIDxjb2RlPlBvc2l0aW9uPFwvY29kZT4sIDxjb2RlPk9yaWVudGF0aW9uPFwvY29kZT4sIGFuZCA8Y29kZT5TY2FsZTxcL2NvZGU+IG9mIGV2ZXJ5IDxjb2RlPlZpZXc8XC9jb2RlPiBhcmUgYWZmZWN0ZWQgYnkgdGhlaXIgcGFyZW50cy48XC9wPlxuPHA+VGhlIDxjb2RlPlBvc2l0aW9uPFwvY29kZT4gb2YgZWFjaCA8Y29kZT5WaWV3PFwvY29kZT4gaXMgZGVmaW5lZCBhcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgcG9zaXRpb24gb2YgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTlVJLkJhc2VDb21wb25lbnRzLlZpZXcubWQjVGl6ZW5fTlVJX0Jhc2VDb21wb25lbnRzX1ZpZXdfUGFyZW50T3JpZ2luXCI+UGFyZW50T3JpZ2luPFwvYT4gYW5kIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk5VSS5CYXNlQ29tcG9uZW50cy5WaWV3Lm1kI1RpemVuX05VSV9CYXNlQ29tcG9uZW50c19WaWV3X1Bpdm90UG9pbnRcIj5QaXZvdFBvaW50PFwvYT4gb2YgdGhlIDxjb2RlPlZpZXc8XC9jb2RlPi4gVGhlIDxjb2RlPlBhcmVudE9yaWdpbjxcL2NvZGU+IGlzIGEgcHJvcGVydHkgdGhhdCBkZWZpbmVzIHRoZSByZWZlcmVuY2UgcG9pbnQgaW4gdGhlIHBhcmVudCA8Y29kZT5WaWV3PFwvY29kZT4sIHdoZXJlYXMgdGhlIDxjb2RlPlBpdm90UG9pbnQ8XC9jb2RlPiBpcyBhIHByb3BlcnR5IHRoYXQgZGVmaW5lcyB0aGUgYW5jaG9yIHBvaW50IG9mIHRoZSBjaGlsZC4gVGhlIGRlZmF1bHQgdmFsdWUgZm9yIGJvdGggPGNvZGU+UGl2b3RQb2ludDxcL2NvZGU+IGFuZCA8Y29kZT5QYXJlbnRPcmlnaW48XC9jb2RlPiBpcyA8c3Ryb25nPlRvcExlZnQ8XC9zdHJvbmc+LiBGb3IgaW5zdGFuY2UsIGlmIHRoZSA8Y29kZT5Qb3NpdGlvbjxcL2NvZGU+IHByb3BlcnR5IG9mIHRoZSA8Y29kZT5WaWV3PFwvY29kZT4gaXMgc2V0IHRvICg1LCAzKSBjb29yZGluYXRlcywgdGhlIDxjb2RlPlBhcmVudE9yaWdpbjxcL2NvZGU+IHByb3BlcnR5IGlzIHNldCB0byA8c3Ryb25nPkNlbnRlcjxcL3N0cm9uZz4sIGFuZCB0aGUgPGNvZGU+UGl2b3RQb2ludDxcL2NvZGU+IHByb3BlcnR5IGlzIHNldCB0byA8c3Ryb25nPlRvcExlZnQ8XC9zdHJvbmc+LCB0aGVuIHRoZSA8c3Ryb25nPlRvcExlZnQ8XC9zdHJvbmc+IG9mIHRoZSBvYmplY3QgaXMgbG9jYXRlZCAoNSwgMykgY29vcmRpbmF0ZXMgYXdheSBmcm9tIHRoZSA8c3Ryb25nPkNlbnRlcjxcL3N0cm9uZz4gcG9zaXRpb24gb2YgaXRzIHBhcmVudCdzIDxjb2RlPlZpZXc8XC9jb2RlPiBvYmplY3QuPFwvcD5cbjxwPkluIGFkZGl0aW9uLCBpZiB0aGUgPGNvZGU+UGFyZW50T3JpZ2luPFwvY29kZT4gcHJvcGVydHkgaXMgY2hhbmdlZCB0byA8c3Ryb25nPkJvdHRvbVJpZ2h0PFwvc3Ryb25nPiwgdGhlbiB0aGUgcG9zaXRpb24gb2YgdGhlIDxzdHJvbmc+VG9wTGVmdDxcL3N0cm9uZz4gY29ybmVyIG9mIHRoZSA8Y29kZT5WaWV3PFwvY29kZT4gd2lsbCBiZSBsb2NhdGVkICg1LCAzKSBjb29yZGluYXRlcyBmcm9tIHRoZSA8c3Ryb25nPkJvdHRvbVJpZ2h0PFwvc3Ryb25nPiBjb3JuZXIuPFwvcD5cbjxwPk5VSSBwcm92aWRlcyBwcmVkZWZpbmVkIDxjb2RlPlBhcmVudE9yaWdpbjxcL2NvZGU+IGFzIHdlbGwgYXMgPGNvZGU+UGl2b3RQb2ludDxcL2NvZGU+IHBvc2l0aW9ucyBhcyBzaG93biBpbiB0aGUgZm9sbG93aW5nIGZpZ3VyZSwgYW5kIHlvdSBjYW4gYWxzbyB1c2UgY3VzdG9tIHZhbHVlcyBmb3Igc2V0dGluZyB0aGUgcG9zaXRpb246PFwvcD5cbjxwPjxzdHJvbmc+RmlndXJlOiBQcmVkZWZpbmVkIHBvc2l0aW9ucyBmb3IgUGFyZW50T3JpZ2luIGFuZCBQaXZvdFBvaW50PFwvc3Ryb25nPjxcL3A+XG48dGFibGUgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDoxMDAlXCIgYWxpZ249XCJjZW50ZXJcIj5cbjxpbWcgc3JjPVwibWVkaWFcL3ZpZXdfRmlndXJlX1BhcmVudE9yaWdpbl9QaXZvdFBvaW50LnBuZ1wiPlxuPFwvdGQ+XG48XC90cj5cbjxcL3RhYmxlPlxuPHA+VGhlIGZvbGxvd2luZyBmaWd1cmUgc2hvd3MgdGhyZWUgY2FzZXMgb2YgcGFyZW50IDxjb2RlPlZpZXc8XC9jb2RlPiBhbmQgaXRzIGNoaWxkIDxjb2RlPlZpZXc8XC9jb2RlPi4gVGhlIHBhcmVudCA8Y29kZT5WaWV3PFwvY29kZT4gaXMgcmVwcmVzZW50ZWQgYnkgYmx1ZSBjb2xvciBhbmQgY2hpbGQgPGNvZGU+VmlldzxcL2NvZGU+IGlzIHJlcHJlc2VudGVkIGJ5IHJlZCBjb2xvci5cbkluIHRoZSBmb2xsb3dpbmcgZXhhbXBsZXMsIGFsbCBvZiB0aGUgcmVkLWNvbG9yZWQgPGNvZGU+VmlldzxcL2NvZGU+IGNvb3JkaW5hdGVzIGFyZSBpZGVudGljYWxseSBsb2NhdGVkIGF0ICgzLCA1KSBvZiBpdHMgcGFyZW50IGNvb3JkaW5hdGUgc3lzdGVtLCB3aGljaCBpcyBiYXNlZCBvbiB0aGUgPGNvZGU+UGFyZW50T3JpZ2luPFwvY29kZT4gcHJvcGVydHkgb2YgdGhlIGNoaWxkIDxjb2RlPlZpZXc8XC9jb2RlPi4gPGNvZGU+UGl2b3RQb2ludDxcL2NvZGU+IGlzIHNldCB0byBkZWZhdWx0IDxzdHJvbmc+VG9wTGVmdDxcL3N0cm9uZz46PFwvcD5cbjxwPjxzdHJvbmc+RmlndXJlOiBUaGUgZmluYWwgcG9zaXRpb24gd2l0aCBkaWZmZXJlbnQgUGFyZW50T3JpZ2luPFwvc3Ryb25nPjxcL3A+XG48dGFibGUgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDoxMDAlXCIgYWxpZ249XCJjZW50ZXJcIj5cbjxpbWcgc3JjPVwibWVkaWFcL3ZpZXdfRmlndXJlX1Bvc2l0aW9uLnBuZ1wiIHdpZHRoPVwiMTAwJVwiPlxuPFwvdGQ+XG48XC90cj5cbjxcL3RhYmxlPlxuPHA+QWx0ZXJuYXRpdmVseSwgeW91IGNhbiB1c2UgYW4gYXJiaXRyYXJ5IDxjb2RlPlBvc2l0aW9uPFwvY29kZT4gdHlwZSB2YWx1ZSBkZWZpbmVkIGluIHRoZSB1bml0IGNvb3JkaW5hdGVzIHRvIHNldCA8Y29kZT5QYXJlbnRPcmlnaW48XC9jb2RlPiB3aXRob3V0IHByZWRlZmluZWQgdmFsdWVzLjxcL3A+XG48cD5UaGUgPGNvZGU+T3JpZW50YXRpb248XC9jb2RlPiBvZiA8Y29kZT5WaWV3PFwvY29kZT4gaXMgdGhlIHJvdGF0aW9uIGZyb20gaXRzIGRlZmF1bHQgb3JpZW50YXRpb24uIDxjb2RlPlNjYWxlPFwvY29kZT4gb2YgPGNvZGU+VmlldzxcL2NvZGU+IGlzIHRoZSBzaXplIHJhdGlvIGJldHdlZW4gdGhlIHNpemUgdG8gYmUgcmVuZGVyZWQgYW5kIHRoZSBkZWZhdWx0IHNpemUuIEZvciB0aGVzZSB0d28gdHJhbnNmb3JtcywgPGNvZGU+VmlldzxcL2NvZGU+IGlzIHJvdGF0ZWQgYW5kIHNjYWxlZCBhcm91bmQgPGNvZGU+UGl2b3RQb2ludDxcL2NvZGU+LjxcL3A+XG48cD48Y29kZT5PcmllbnRhdGlvbjxcL2NvZGU+IGFuZCA8Y29kZT5TY2FsZTxcL2NvZGU+IG9mIDxjb2RlPlZpZXc8XC9jb2RlPiBhcmUgYWxzbyBhZmZlY3RlZCBieSB0aGUgdHJhbnNmb3JtcyBvZiBpdHMgcGFyZW50LiBJbiB0aGUgZmluYWwgY2FsY3VsYXRpb24gb2YgPGNvZGU+VmlldzxcL2NvZGU+LCA8Y29kZT5PcmllbnRhdGlvbjxcL2NvZGU+IGFuZCA8Y29kZT5TY2FsZTxcL2NvZGU+IG9mIHBhcmVudHMgYXJlIGZpcnN0IGFwcGxpZWQgdG8gdGhlIGNoaWxkIDxjb2RlPlZpZXc8XC9jb2RlPiB3aXRoIHBhcmVudCdzIDxjb2RlPlBpdm90UG9pbnQ8XC9jb2RlPiwgYW5kIHRoZW4gPGNvZGU+T3JpZW50YXRpb248XC9jb2RlPiBhbmQgPGNvZGU+U2NhbGU8XC9jb2RlPiBvZiBjaGlsZCBhcmUgYXBwbGllZC48XC9wPlxuPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlcyBkZW1vbnN0cmF0ZSB0aGUgcm90YXRpb24gYW5kIHNjYWxpbmcgdGhhdCBjaGFuZ2UgPGNvZGU+T3JpZW50YXRpb248XC9jb2RlPiBhbmQgPGNvZGU+U2NhbGU8XC9jb2RlPiByZXNwZWN0aXZlbHkuIDxzdHJvbmc+VmlldyBBPFwvc3Ryb25nPiBpcyBhIGNoaWxkIG9mIDxzdHJvbmc+VmlldyBCPFwvc3Ryb25nPi4gVGhlcmVmb3JlLCB0cmFuc2Zvcm1zIG9mIDxzdHJvbmc+QTxcL3N0cm9uZz4gb25seSBhZmZlY3RzIDxzdHJvbmc+QTxcL3N0cm9uZz4uIEhvd2V2ZXIsIHRoZSB0cmFuc2Zvcm1zIG9mIHBhcmVudCA8c3Ryb25nPkI8XC9zdHJvbmc+IGluZmx1ZW5jZXMgaXRzIGNoaWxkIDxzdHJvbmc+QTxcL3N0cm9uZz4uIFRoZSBibGFjayBkb3QgaW4gdGhlIGZpZ3VyZSBpcyA8Y29kZT5QaXZvdFBvaW50PFwvY29kZT4gdGhhdCBpcyB1c2VkIGJ5IHRoZSB0cmFuc2Zvcm1zLjxcL3A+XG48cD48c3Ryb25nPkZpZ3VyZTogUm90YXRpb24gYW5kIFNjYWxpbmcuPFwvc3Ryb25nPjxcL3A+XG48dGFibGUgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDo1MCVcIiBhbGlnbj1cImNlbnRlclwiPlxuPGltZyBzcmM9XCJtZWRpYVwvdmlld19GaWd1cmVfT3JpZW50YXRpb24uZ2lmXCIgd2lkdGg9XCIxMDAlXCI+XG48XC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOjUwJVwiIGFsaWduPVwiY2VudGVyXCI+XG48aW1nIHNyYz1cIm1lZGlhXC92aWV3X0ZpZ3VyZV9TY2FsZS5naWZcIiB3aWR0aD1cIjEwMCVcIj5cbjxcL3RkPlxuPFwvdHI+XG48XC90YWJsZT5cbjxwPjxhIG5hbWU9XCIyXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1kaXJlY3Rpb25hbC1uYXZpZ2F0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LWRpcmVjdGlvbmFsLW5hdmlnYXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkRpcmVjdGlvbmFsIG5hdmlnYXRpb248XC9oMj5cbjxwPk5VSSBhbHNvIHByb3ZpZGVzIGRpcmVjdGlvbmFsIG5hdmlnYXRpb24gYmV0d2VlbiBlYWNoIDxjb2RlPlZpZXc8XC9jb2RlPiB1c2luZyBhcnJvdyBrZXlzIG9uIHRoZSBrZXlib2FyZC4gWW91IGNhbiBzaW1wbHkgc2V0IHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyB0byBzcGVjaWZ5IHRoZSBuZXh0IDxjb2RlPkZvY3VzYWJsZVZpZXc8XC9jb2RlPiBmb3IgZWFjaCBkaXJlY3Rpb246PFwvcD5cbjx1bD5cbjxsaT5cbjxwPjxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk5VSS5CYXNlQ29tcG9uZW50cy5WaWV3Lm1kI1RpemVuX05VSV9CYXNlQ29tcG9uZW50c19WaWV3X1VwRm9jdXNhYmxlVmlld1wiPlZpZXcuVXBGb2N1c2FibGVWaWV3PFwvYT48XC9wPlxuPFwvbGk+XG48bGk+XG48cD48YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OVUkuQmFzZUNvbXBvbmVudHMuVmlldy5tZCNUaXplbl9OVUlfQmFzZUNvbXBvbmVudHNfVmlld19Eb3duRm9jdXNhYmxlVmlld1wiPlZpZXcuRG93bkZvY3VzYWJsZVZpZXc8XC9hPjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPjxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk5VSS5CYXNlQ29tcG9uZW50cy5WaWV3Lm1kI1RpemVuX05VSV9CYXNlQ29tcG9uZW50c19WaWV3X0xlZnRGb2N1c2FibGVWaWV3XCI+Vmlldy5MZWZ0Rm9jdXNhYmxlVmlldzxcL2E+PFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+PGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTlVJLkJhc2VDb21wb25lbnRzLlZpZXcubWQjVGl6ZW5fTlVJX0Jhc2VDb21wb25lbnRzX1ZpZXdfUmlnaHRGb2N1c2FibGVWaWV3XCI+Vmlldy5SaWdodEZvY3VzYWJsZVZpZXc8XC9hPjxcL3A+XG48XC9saT5cbjxcL3VsPlxuPHA+V2hlbiBhbiBhcnJvdyBrZXkgaXMgcHJlc3NlZCBhbmQgdGhlIGN1cnJlbnQgPGNvZGU+VmlldzxcL2NvZGU+IGhhcyBuZXh0IDxjb2RlPkZvY3VzYWJsZVZpZXc8XC9jb2RlPiBmb3IgdGhhdCBkaXJlY3Rpb24sIHRoZSBzeXN0ZW0gcGFzc2VzIGZvY3VzIHRvIHRoZSBuZXh0IDxjb2RlPkZvY3VzYWJsZVZpZXc8XC9jb2RlPi4gSG93ZXZlciwgaWYgdGhlIGN1cnJlbnQgPGNvZGU+VmlldzxcL2NvZGU+IGRvZXMgbm90IGhhdmUgdGhlIG5leHQgPGNvZGU+Rm9jdXNhYmxlVmlldzxcL2NvZGU+IGZvciB0aGUgZGlyZWN0aW9uIG9yIHRoZSBuZXh0IDxjb2RlPkZvcmN1c2FibGVWaWV3PFwvY29kZT4gaXMgbm90IG9uIHRoZSB3aW5kb3csIHRoZSBwcm9wZXJ0eSByZXR1cm5zIDxjb2RlPk5VTEw8XC9jb2RlPiBhbmQgbm8gY2hhbmdlIG9jY3Vycy48XC9wPlxuPHA+PGEgbmFtZT1cIjNcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LXZpZXctZXZlbnRcIj48YSBocmVmPVwiI2NvbnRlbnQtdmlldy1ldmVudFwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VmlldyBldmVudDxcL2gyPlxuPHA+PGNvZGU+VmlldzxcL2NvZGU+IHByb3ZpZGVzIGEgdmFyaWV0eSBvZiBldmVudHMgdGhhdCBhcmUgY29tbW9ubHkgdXNlZCBieSB0aGUgY29tcG9uZW50cy4gVGhlIGZvbGxvd2luZyB0YWJsZSBsaXN0cyB0aGUgYmFzaWMgZXZlbnRzIHByb3ZpZGVkIGJ5IDxjb2RlPlZpZXc8XC9jb2RlPjo8XC9wPlxuPHA+PHN0cm9uZz5UYWJsZTogVmlldyBldmVudHM8XC9zdHJvbmc+PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkV2ZW50PFwvdGg+XG48dGg+RGVzY3JpcHRpb248XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+PGNvZGU+S2V5RXZlbnQ8XC9jb2RlPjxcL3RkPlxuPHRkPlRyaWdnZXJlZCB3aGVuIHRoZSBrZXkgaW5wdXQgaXMgcmVjZWl2ZWQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5Ub3VjaEV2ZW50PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgd2hlbiB0aGUgdG91Y2ggaW5wdXQgaXMgcmVjZWl2ZWQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5Ib3ZlckV2ZW50PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgd2hlbiB0aGUgaG92ZXIgaW5wdXQgaXMgcmVjZWl2ZWQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5XaGVlbEV2ZW50PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgd2hlbiB0aGUgd2hlZWwgaW5wdXQgaXMgcmVjZWl2ZWQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5Gb2N1c0dhaW5lZDxcL2NvZGU+PFwvdGQ+XG48dGQ+VHJpZ2dlcmVkIHdoZW4gdGhlIGNvbnRyb2wgZ2V0cyB0aGUga2V5IGlucHV0IGZvY3VzLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+Rm9jdXNMb3N0PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgd2hlbiB0aGUgY29udHJvbCBsb3NlcyBrZXkgaW5wdXQgZm9jdXMuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5SZWxheW91dDxcL2NvZGU+PFwvdGQ+XG48dGQ+VHJpZ2dlcmVkIGFmdGVyIHRoZSBzaXplIGhhcyBiZWVuIHNldCBvbiBWaWV3IGR1cmluZyByZWxheW91dC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPkxheW91dERpcmVjdGlvbkNoYW5nZWQ8XC9jb2RlPjxcL3RkPlxuPHRkPlRyaWdnZXJlZCB3aGVuIHRoZSBsYXlvdXQgZGlyZWN0aW9uIHByb3BlcnR5IG9mIFZpZXcgb3IgaXRzIHBhcmVudCBWaWV3IGlzIGNoYW5nZWQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5BZGRlZFRvV2luZG93PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgYWZ0ZXIgVmlldyBoYXMgYmVlbiBjb25uZWN0ZWQgdG8gdGhlIHdpbmRvdy48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPlJlbW92ZWRGcm9tV2luZG93PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgYWZ0ZXIgVmlldyBoYXMgYmVlbiBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgd2luZG93LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+VmlzaWJpbGl0eUNoYW5nZWQ8XC9jb2RlPjxcL3RkPlxuPHRkPlRyaWdnZXJlZCB3aGVuIHRoZSB2aXNpYmxlIHByb3BlcnR5IG9mIFZpZXcgb3IgcGFyZW50IFZpZXcgaXMgY2hhbmdlZC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPlJlc291cmNlc0xvYWRlZDxcL2NvZGU+PFwvdGQ+XG48dGQ+VHJpZ2dlcmVkIGFmdGVyIGFsbCB0aGUgcmVzb3VyY2VzIHJlcXVpcmVkIGJ5IFZpZXcgYXJlIGxvYWRlZCBhbmQgcmVhZHkuPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+WW91IGNhbiBjcmVhdGUgY3VzdG9tIDxjb2RlPmNhbGxiYWNrPFwvY29kZT4gbWV0aG9kcyB3aXRoIGV2ZW50IGhhbmRsZXIgZm9yIGVhY2ggPGNvZGU+RXZlbnQ8XC9jb2RlPi48XC9wPlxuPHA+SW5wdXQgPGNvZGU+RXZlbnQ8XC9jb2RlPiBzdWNoIGFzIDxjb2RlPktleUV2ZW50PFwvY29kZT4gYW5kIDxjb2RlPlRvdWNoRXZlbnQ8XC9jb2RlPiBpcyBmaXJzdCByZWNlaXZlZCBvbiB0aGUgY3VycmVudCBmb2N1c2VkIDxjb2RlPlZpZXc8XC9jb2RlPiB0byBiZSBoYW5kbGVkLiBIb3dldmVyLCBpZiB0aGUgZm9jdXNlZCA8Y29kZT5WaWV3PFwvY29kZT4gaXMgbm90IGhhdmluZyBhIHByb3BlciBldmVudCBoYW5kbGVyLCB0aGVuIHRoZSA8Y29kZT5FdmVudDxcL2NvZGU+IGlzIGRlbGl2ZXJlZCB0byBpdHMgcGFyZW50IDxjb2RlPlZpZXc8XC9jb2RlPiBpdGVyYXRpdmVseSB1bnRpbCBpdCBjYW4gYmUgY29uc3VtZWQuPFwvcD5cbjxwPlRoZSBmb2xsb3dpbmcgY29kZSBleHBsYWlucyBob3cgdG8gaGFuZGxlIDxjb2RlPkV2ZW50PFwvY29kZT4gd2l0aCBhIHNpbXBsZSBleGFtcGxlIG9mIDxjb2RlPlRvdWNoRXZlbnQ8XC9jb2RlPi4gSWYgeW91IHRvdWNoIHRoZSBibHVlIDxjb2RlPlZpZXc8XC9jb2RlPiB0aGVuIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGlzIGNoYW5nZWQ6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5WaWV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj50b3VjaGVkVmlldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5WaWV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj50b3VjaGVkVmlldy5CYWNrZ3JvdW5kQ29sb3IgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gQ29sb3IuQmx1ZTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvIEF0dGFjaCBjYWxsYmFjayBtZXRob2Q8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj50b3VjaGVkVmlldy5Ub3VjaEV2ZW50IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+Kz08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBWaWV3VG91Y2hFdmVudENhbGxCYWNrOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4uLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvIEN1c3RvbSBjYWxsYmFjayBtZXRob2Q8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5wcml2YXRlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5ib29sPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5WaWV3VG91Y2hFdmVudENhbGxCYWNrPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5vYmplY3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnNlbmRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlZpZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlRvdWNoRXZlbnRBcmdzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlZpZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnRvdWNoZWRWaWV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gc2VuZGVyIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+YXM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlZpZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5pZjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IChlLlRvdWNoLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0U3RhdGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPikgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IFBvaW50U3RhdGVUeXBlLkRvd24pPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIHs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIHRvdWNoZWRWaWV3LkJhY2tncm91bmRDb2xvciA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBDb2xvci5SZWQ7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIH08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5yZXR1cm48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPnRydWU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj59PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxwPjxzdHJvbmc+RmlndXJlOiBUb3VjaEV2ZW50IGV4YW1wbGU8XC9zdHJvbmc+PFwvcD5cbjxwPjxpbWcgc3JjPVwibWVkaWFcL3ZpZXdfRmlndXJlX1RvdWNoLmdpZlwiIGFsdD1cIlZpZXcgd2l0aCBhIGJhY2tncm91bmQgaW1hZ2VcIiBcLz48XC9wPlxuPGgyIGlkPVwiY29udGVudC1yZWxhdGVkLWluZm9ybWF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlJlbGF0ZWQgaW5mb3JtYXRpb248XC9oMj5cbjx1bD5cbjxsaT5EZXBlbmRlbmNpZXNcbjx1bD5cbjxsaT5UaXplbiA0LjAgYW5kIEhpZ2hlcjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxcL3VsPlxuIiwidGFibGVfb2ZfY29udGVudCI6Ijx1bCBjbGFzcz1cInRhYmxlLW9mLWNvbnRlbnRzXCI+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXRyYW5zZm9ybXNcIj5UcmFuc2Zvcm1zPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZGlyZWN0aW9uYWwtbmF2aWdhdGlvblwiPkRpcmVjdGlvbmFsIG5hdmlnYXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC12aWV3LWV2ZW50XCI+VmlldyBldmVudDxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIj5SZWxhdGVkIGluZm9ybWF0aW9uPFwvYT48XC9saT5cbjxcL3VsPlxuIiwidGl0bGUiOiJWaWV3IiwicmF3IjpudWxsfSx7ImNsYXNzIjoiQXBwXFxTZXJ2aWNlc1xcRG9jdW1lbnRhdGlvblxcRGF0YVxcUmVuZGVyZWRNYXJrZG93biIsInMiOiJ3cmJsIn1dfSx7InMiOiJhcnIifV19LCJtZW1vIjp7ImlkIjoiMGQ2dDVFOXhBOXdJREp0cmFsTWsiLCJuYW1lIjoiX19tb3VudFBhcmFtc0NvbnRhaW5lciIsInBhdGgiOiJkb2NzXC9hcHBsaWNhdGlvblwvZG90bmV0XC9ndWlkZXNcL3VzZXItaW50ZXJmYWNlXC9udWlcL3ZpZXciLCJtZXRob2QiOiJHRVQiLCJyZWxlYXNlIjoiYS1hLWEifSwiY2hlY2tzdW0iOiJhNjg2NDhhZGVlMzMxMDdiNzA5YjVmNGIyNWMzODE2OWVmYjU3ZDM2YjdjNTc2YzExNzM3ZDg5M2NjN2EzNzdjIn0=')" >

For the best experience,
Please visit us from a computer

Copyright © 2026 SAMSUNG. All rights reserved.

Customize your cookie preferences

You can enable or disable non-essential cookies. Essential cookies are always on to ensure the site works properly and to keep you signed in.

Necessary

These cookies are necessary for the website to function properly and cannot be switched off. They help with things like logging in and setting your privacy preferences.

Always on

Analytics

These cookies help us improve the site by tracking which pages are most popular and how visitors move around the site.

Enable analytics cookies
Public Forum Public Forum
Employees only. Please sign in with your company account.