mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
c135d91986
* - New Media Foundation grabber
- JsonAPI available grabber fix
- commented json config removed
* Added libjpeg-turbo to dependencies
* Fix OSX build
Removed Azure Pipelines from build scripts
* Remove Platform from Dashboard
* Correct Grabber Namings
* Grabber UI improvements, generic JSONEditor Selection Update
* Active grabber fix
* Stop Framebuffer grabber on failure
* - Image format NV12 and I420 added
- Flip mode
- Scaling factor for MJPEG
- VSCode (compile before run)
- CI (push) dependency libjpeg-turbo added
* Refactor MediaFoundation (Part 1)
* Remove QDebug output
* Added image flipping ability to MF Grabber
* fix issue 1160
* -Reload MF Grabber only once per WebUI update
- Cleanup
* Improvements
* - Set 'Software Frame Decimation' begin to 0
- Removed grabber specific device name from Log
- Keep pixel format when switching resolution
- Display 'Flip mode' correct in Log
- BGR24 images always flipped
* Refactor MediaFoundation (Part 2)
* Refactor V4L2 grabber (part 1) (#62)
* Media Foundation grabber adapted to V4L2 change
* Enable Media Foundation grabber on windows
* Have fps as int, fix height typo
* Added video standards to JsonAPI output
* Error handling in source reader improved
* Fix "Frame to small" error
* Discovery VideoSources and Dynamically Update Editor
* Hide all element when no video grabber discovered, upate naming
* Do not show unsupported grabbers
* Copy Log to Clipboard
* Update Grabber schema and Defaults
* Update access levels and validate crop ranges
* Height and width in Qt grabber corrected
* Correct formatting
* Untabify
* Global component states across instances
* Components divided on the dashboard
* refactor
* Fix Merge-issues
* Database migration aligning with updated grabber model
* Align Grabber.js with new utility functions
* Allow editor-validation for enum-lists
* Handle "Show Explainations scenario" correctly
* Grabber - Ensure save is only possible on valid content
* Dashboard update + fix GlobalSignal connection
* Ensure default database is populated with current release
* Correct grabber4L2 access level
* Display Signal detection area in preview
* Write Hyperion version into default config on compiling.
* Create defaultconfig.json dynamically
* WebUI changes
* Correct grabber config look-ups
* Refactor i18n language loading
* Fix en.json
* Split global capture from instance capture config
* Update grabber default values
* Standalone grabber: Add --debug switch
* Enhance showInputOptionsForKey for multiple keys
* Add grabber instance link to system grabber config
* Only show signal detection area, if grabber is enabled
* Always show Active element on grabber page
* Remote control - Only display gabber status, if global grabber is enabled
* WebUI optimization (thx to @mkcologne)
Start Grabber only when global settings are enabled
Fixed an issue in the WebUI preview
* V4L2/MF changes
* Jsoneditor, Correct translation for default values
* Refactor LED-Device handling in UI and make element naming consistent
* MF Discovery extended
* Fix LGTM finding
* Support Grabber Bri, Hue, Sat and Con in UI, plus their defaults
* Concider Access level for item filtering
* Concider Access level for item filtering
* Revert "Concider Access level for item filtering"
This reverts commit 5b0ce3c0f2
.
* Disable fpsSoftwareDecimation for framegrabber, as not supported yet
* JSON-Editor- Add updated schema for validation on dynamic elements
* added V4L2 color IDs
* LGTM findings fix
* destroy SR callback only on exit
* Grabber.js - Hide elements not supported by platform
* Fixed freezing start effect
* Grabber UI - Hardware controls - Show current values and allow to reset to defaults
* Grabber - Discovery - Add current values to properties
* Small things
* Clean-up Effects and have ENDLESS consistently defined
* Fix on/off/on priority during startup, by initializing _prevVisComp in line with background priority
* Add missing translation mappings
* DirectX Grabber reactivated/ QT Grabber size decimation fixed
* typo in push-master workflow
* Use PreciseTimer for Grabber to ensure stable FPS timing
* Set default Screencapture rate consistently
* Fix libjpeg-turbo download
* Remove Zero character from file
* docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Framebuffer, Dispmanx, OSX, AML Grabber discovery, various clean-up and consistencies across grabbers
* Fix merge problem - on docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Fix definition
* OSXFRameGrabber - Revert cast
* Clean-ups nach Feedback
* Disable certain libraries when building armlogic via standard stretch image as developer
* Add CEC availability to ServerInfo to have it platform independent
* Grabber UI - Fix problem that crop values are not populated when refining editor rage
* Preserve value when updating json-editor range
* LEDVisualisation - Clear image when source changes
* Fix - Preserve value when updating json-editor range
* LEDVisualisation - Clear image when no component is active
* Allow to have password handled by Password-Manager (#1263)
* Update default signal detection area to green assuming rainbow grabber
* LED Visualisation - Handle empty priority update
* Fix yuv420 in v4l2 grabber
* V4L2-Grabber discovery - Only report grabbers with valid video input information
* Grabber - Update static variables to have them working in release build
* LED Visualisation - ClearImage when no priorities
* LED Visualisation - Fix Logo resizing issue
* LED Visualisation - Have nearly black background and negative logo
Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
Co-authored-by: LordGrey <48840279+Lord-Grey@users.noreply.github.com>
367 lines
16 KiB
HTML
367 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<script>
|
|
if (/MSIE/.test(navigator.userAgent) || /Trident/.test(navigator.userAgent)) {
|
|
window.location.pathname = '/content/ie_not_supported.html';
|
|
}
|
|
</script>
|
|
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
|
|
<meta name="description" content="Hyperion Web Configuration">
|
|
<meta name="msapplication-TileColor" content="#91989C">
|
|
<meta name="msapplication-TileImage" content="/mstile-144x144.png">
|
|
<link rel="apple-touch-icon-precomposed" sizes="180x180" href="/apple-touch-icon.png">
|
|
<link rel="icon" type="image/png" href="/favicon.png" sizes="32x32">
|
|
|
|
<title data-i18n="general_webui_title">Hyperion - Web Configuration</title>
|
|
|
|
<!-- jQuery -->
|
|
<script src="js/lib/jquery.min.js"></script>
|
|
|
|
<!-- SemVer -->
|
|
<script src='js/lib/semver.js'></script>
|
|
|
|
<!-- md Stuff -->
|
|
<script src="js/lib/marked.min.js"></script>
|
|
<script type="text/javascript" src="js/lib/purify.min.js"></script>
|
|
|
|
<!-- Hyperion -->
|
|
<script src="js/hyperion.js"></script>
|
|
<script src="js/ui_utils.js"></script>
|
|
|
|
<!-- Colorpicker -->
|
|
<script src="js/lib/bootstrap-colorpicker.min.js"></script>
|
|
|
|
<!-- BS Notfiy -->
|
|
<script src="js/lib/bootstrap-notify.min.js"></script>
|
|
|
|
<!-- JSONEditor -->
|
|
<script src="js/lib/jsoneditor.js"></script>
|
|
|
|
<!--Language Support -->
|
|
<script src="js/lib/jquery.i18n/jquery.i18n.js"></script>
|
|
<script src="js/lib/jquery.i18n/jquery.i18n.messagestore.js"></script>
|
|
<script src="js/lib/jquery.i18n/jquery.i18n.fallbacks.js"></script>
|
|
<script src="js/lib/jquery.i18n/jquery.i18n.parser.js"></script>
|
|
<script src="js/lib/jquery.i18n/jquery.i18n.emitter.js"></script>
|
|
<script src="js/lib/jquery.i18n/jquery.i18n.language.js"></script>
|
|
<script src="js/lib/jquery.i18n/CLDRPluralRuleParser.js"></script>
|
|
|
|
<script src="js/languages.js"></script>
|
|
|
|
<!-- Bootstrap Core CSS -->
|
|
<link href="css/bootstrap.min.css" rel="stylesheet">
|
|
|
|
<link href="css/bootstrap-colorpicker.min.css" rel="stylesheet">
|
|
|
|
<!-- BSToggle -->
|
|
<link href="css/bootstrap-toggle.min.css" rel="stylesheet">
|
|
|
|
<!-- BSSelect -->
|
|
<link href="css/bootstrap-select.min.css" rel="stylesheet">
|
|
|
|
<!-- MetisMenu CSS -->
|
|
<link href="css/metisMenu.css" rel="stylesheet">
|
|
|
|
<!-- Custom CSS -->
|
|
<link href="css/sb-admin-2.css" rel="stylesheet">
|
|
<link href="css/hyperion.css" rel="stylesheet">
|
|
|
|
<!-- Custom Fonts -->
|
|
<link href="css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
|
|
|
<!-- Material Design Icons - https://github.com/Templarian/MaterialDesign-Webfont -->
|
|
<link href="css/materialdesignicons.min.css" media="all" rel="stylesheet" type="text/css">
|
|
|
|
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
|
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
|
<!--[if lt IE 9]>
|
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
|
<![endif]-->
|
|
</head>
|
|
<body>
|
|
<noscript>
|
|
<div style="color:red;margin: 40px 0;text-align:center">
|
|
<img src="img/hyperion/logo_positiv.png" alt="Redefine ambient light!">
|
|
<h3>Hyperion Web Configuration requires Javascript. Please enable Javascript in your browser for this page in order to use it!</h3>
|
|
</div>
|
|
<style type="text/css">
|
|
#loading_overlay, #wrapper {
|
|
display: none
|
|
}
|
|
</style>
|
|
</noscript>
|
|
|
|
<div id="loading_overlay" class="overlay"></div>
|
|
<div id="wrapper">
|
|
|
|
<!-- Navigation -->
|
|
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0; min-height: 85px">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle closed" aria-controls="navbar">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar top-bar"></span>
|
|
<span class="icon-bar middle-bar"></span>
|
|
<span class="icon-bar bottom-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="https://www.hyperion-project.org" target="_blank"><img id="navbar_brand_logo" src="img/hyperion/logo_positiv.png" alt="Redefine ambient light!" height="80"></a>
|
|
|
|
</div>
|
|
<!-- /.navbar-header -->
|
|
|
|
<ul class="nav navbar-top-links navbar-right" id="top-navbar">
|
|
<!-- Browser built in capture stream - streamer.js -->
|
|
<li class="dropdown" id="btn_streamer" style="display:none">
|
|
<!-- Hidden helpers -->
|
|
<canvas style="display:none" id="streamcanvas"></canvas>
|
|
<video style="display:none" id="streamvideo" autoplay></video>
|
|
<a>
|
|
<i id="btn_streamer_icon" class="fa fa-video-camera fa-fw"></i>
|
|
</a>
|
|
</li>
|
|
<li class="dropdown" id="btn_darkmode">
|
|
<a>
|
|
<i id="btn_darkmode_icon" class="fa fa-moon-o"></i>
|
|
</a>
|
|
</li>
|
|
<li class="dropdown" id="btn_open_ledsim">
|
|
<a>
|
|
<i class="fa fa-television fa-fw"></i>
|
|
</a>
|
|
</li>
|
|
<!-- /.dropdown -->
|
|
<li class="dropdown">
|
|
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
|
|
<i class="fa fa-magic fa-fw"></i> <i class="fa fa-caret-down"></i>
|
|
</a>
|
|
<ul class="dropdown-menu dropdown-alerts">
|
|
<li id="btn_wizard_byteorder">
|
|
<a>
|
|
<div>
|
|
<i class="fa fa-magic fa-fw"></i>
|
|
<span data-i18n="wiz_rgb_title"></span>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
<li class="divider"></li>
|
|
<li id="btn_wizard_colorcalibration">
|
|
<a>
|
|
<div>
|
|
<i class="fa fa-magic fa-fw"></i>
|
|
<span data-i18n="wiz_cc_title"></span>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<!-- /.dropdown -->
|
|
<li class="dropdown">
|
|
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
|
|
<i class="fa fa-wrench fa-fw"></i> <i class="fa fa-caret-down"></i>
|
|
</a>
|
|
<ul class="dropdown-menu dropdown-alerts">
|
|
|
|
<!-- /.language selector -->
|
|
<li id="btn_setlang">
|
|
<a>
|
|
<div>
|
|
<i class="fa fa-globe fa-fw"></i>
|
|
<select id="language-select" class="selectpicker" data-width="fit" data-style="btn-transparent"> </select>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
<li class="divider"></li>
|
|
<li id="btn_setaccess">
|
|
<a>
|
|
<div>
|
|
<i class="fa fa-wrench fa-fw"></i>
|
|
<span data-i18n="InfoDialog_access_title"></span>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
<li class="divider"></li>
|
|
<li id="btn_changePassword">
|
|
<a>
|
|
<div>
|
|
<i class="fa fa-key fa-fw"></i>
|
|
<span data-i18n="InfoDialog_changePassword_title"></span>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<!-- /.lock-ui -->
|
|
<li class="dropdown" id="btn_lock_ui" style="display:none">
|
|
<a>
|
|
<i class="fa fa-lock fa-fw"></i>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<!-- /.navbar-top-left -->
|
|
|
|
<div id="main-nav" class="navbar-default sidebar" role="navigation">
|
|
<div class="sidebar-nav navbar-collapse">
|
|
<ul class="nav" id="side-menu">
|
|
<li> <a class="inactive mnava" href="#dashboard"><i class="fa fa-dashboard fa-fw"></i><span data-i18n="main_menu_dashboard_token">Dashboard</span></a> </li>
|
|
<li> <a class="inactive mnava" href="#conf_general"><i class="fa fa-wrench fa-fw"></i><span data-i18n="main_menu_general_conf_token">General</span></a> </li>
|
|
<li>
|
|
<a class="inactive"><i class="fa fa-cog fa-fw"></i><span data-i18n="main_menu_configuration_token">LED-Instances</span><span class="fa arrow"></span></a>
|
|
<ul class="nav nav-second-level">
|
|
<li> <a class="inactive mnava" id="MenuItemLeds" href="#conf_leds"><i class="mdi mdi-lightbulb-on fa-fw"></i><span data-i18n="main_menu_leds_conf_token">LED Hardware</span></a> </li>
|
|
<li> <a class="inactive mnava" id="MenuItemInstCapture" href="#conf_instcapture"><i class="fa fa-camera fa-fw"></i><span data-i18n="main_menu_instcapture_conf_token">Sources</span></a> </li>
|
|
<li> <a class="inactive mnava" href="#conf_effect"><i class="fa fa-spinner fa-fw"></i><span data-i18n="main_menu_effect_conf_token">Effects</span></a> </li>
|
|
<li> <a class="inactive mnava" href="#conf_colors"><i class="fa fa-photo fa-fw"></i><span data-i18n="main_menu_colors_conf_token">Image Processing</span></a> </li>
|
|
</ul>
|
|
</li>
|
|
<li> <a class="inactive mnava" id="MenuItemGrabber" href="#conf_grabber"><i class="fa fa-camera fa-fw"></i><span data-i18n="main_menu_grabber_conf_token">Capturing Hardware</span></a> </li>
|
|
<li> <a class="inactive mnava" id="MenuItemNetwork" href="#conf_network"><i class="fa fa-sitemap fa-fw"></i><span data-i18n="main_menu_network_conf_token">Network</span></a> </li>
|
|
<li> <a class="inactive mnava" href="#remote"><i class="fa fa-wifi fa-fw"></i><span data-i18n="main_menu_remotecontrol_token">Remote Control</span></a> </li>
|
|
<li> <a class="inactive mnava" href="#effects_configurator"><i class="fa fa-cogs fa-fw"></i><span data-i18n="main_menu_effectsconfigurator_token">Effects Configurator</span></a> </li>
|
|
<li> <a class="inactive mnava" href="#support"><i class="fa fa-info fa-fw"></i><span data-i18n="main_menu_support_token">Support</span></a> </li>
|
|
<li>
|
|
<a class="inactive"><i class="fa fa-industry fa-fw"></i><span data-i18n="main_menu_system_token">System</span><span class="fa arrow"></span></a>
|
|
<ul class="nav nav-second-level">
|
|
<li> <a class="inactive mnava" id="MenuItemWeb" href="#conf_webconfig" id="load_webconfig"><i class="fa fa-wrench fa-fw"></i><span data-i18n="main_menu_webconfig_token">Webconfiguration</span></a> </li>
|
|
<li> <a class="inactive mnava" id="MenuItemLogging" href="#conf_logging"><i class="fa fa-reorder fa-fw"></i><span data-i18n="main_menu_logging_token">Log</span></a> </li>
|
|
<li> <a class="inactive mnava" href="#update"><i class="fa fa-download fa-fw"></i><span data-i18n="main_menu_update_token">Update</span></a> </li>
|
|
<li> <a class="inactive mnava" href="#about"><i class="fa fa-info-circle fa-fw"></i><span data-i18n="main_menu_about_token">About</span></a> </li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<!-- /.sidebar-collapse -->
|
|
</div>
|
|
<!-- /.navbar-static-side -->
|
|
</nav>
|
|
|
|
<!-- Page Content -->
|
|
<div id="page-wrapper" style="padding-top:10px; overflow: hidden;">
|
|
<div id="hyperion_disabled_notify" style="display:none;padding:0 10px;margin:0">
|
|
<div class="bs-callout bs-callout-danger">
|
|
<h4 data-i18n="dashboard_alert_message_disabled_t"></h4>
|
|
<span data-i18n="dashboard_alert_message_disabled"></span>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="page-content"></div>
|
|
</div>
|
|
|
|
</div>
|
|
<!-- /#wrapper -->
|
|
|
|
<div id="container_connection_lost" style="display:none"></div>
|
|
<div id="container_restart" style="display:none"></div>
|
|
|
|
<!-- infoDialog -->
|
|
<div id="modal_dialog" class="modal fade" role="dialog" style="z-index:9999">
|
|
<div class="modal-dialog">
|
|
<center>
|
|
<div class="modal-content">
|
|
<div id="id_body" class="modal-body"></div>
|
|
<div id="id_footer" class="modal-footer" style="text-align:center"></div>
|
|
</div>
|
|
</center>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- renameDialog -->
|
|
<div id="modal_dialog_rename" class="modal fade" role="dialog" style="z-index:9999">
|
|
<div class="modal-dialog">
|
|
<center>
|
|
<div class="modal-content">
|
|
<div id="id_body_rename" class="modal-body"></div>
|
|
<div id="id_footer_rename" class="modal-footer" style="text-align:center"></div>
|
|
</div>
|
|
</center>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- wizardDialog -->
|
|
<div id="wizard_modal" class="modal fade" role="dialog">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div id="wiz_header" class="modal-header"></div>
|
|
<div id="wizp1">
|
|
<div class="modal-body" style="text-align:center">
|
|
<img id="wizard_logo" src="img/hyperion/logo_positiv.png" alt="Redefine ambient light!" style="margin-bottom:15px">
|
|
<div id="wizp1_body"></div>
|
|
</div>
|
|
<div id="wizp1_footer" class="modal-footer" style="text-align:center"></div>
|
|
</div>
|
|
<div id="wizp2" style="display:none">
|
|
<center>
|
|
<div class="modal-body">
|
|
<img id="wizard_logo" src="img/hyperion/logo_positiv.png" alt="Redefine ambient light!" style="margin-bottom:15px">
|
|
<div id="wizp2_body"></div>
|
|
</div>
|
|
</center>
|
|
<div id="wizp2_footer" class="modal-footer" style="text-align:center"></div>
|
|
</div>
|
|
<div id="wizp3" style="display:none">
|
|
<center>
|
|
<div class="modal-body">
|
|
<img id="wizard_logo" src="img/hyperion/logo_positiv.png" alt="Redefine ambient light!" style="margin-bottom:15px">
|
|
<div id="wizp3_body"></div>
|
|
</div>
|
|
</center>
|
|
<div id="wizp3_footer" class="modal-footer" style="text-align:center"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ledsimDialog -->
|
|
<div id="ledsim_dialog" style="display:none; z-index:9998">
|
|
<div data-role="body" style="padding:0px;">
|
|
<div id="ledsim_text"></div>
|
|
<div id="leds_canvas"></div>
|
|
</div>
|
|
<div data-role="footer" style="text-align:center">
|
|
<button type="button" class="btn btn-success" id="leds_toggle"><i class="fa fa-fw fa-lightbulb-o"></i><span data-i18n="main_ledsim_btn_toggleleds">leds</span></button>
|
|
<button type="button" class="btn btn-danger" id="leds_toggle_num"> <i class="fa fa-fw fa-info"></i><span data-i18n="main_ledsim_btn_togglelednumber">led numbers</span></button>
|
|
<button type="button" class="btn btn-danger" id="sigDetectArea_toggle"><i class="fa fa-fw fa-info"></i><span data-i18n="main_ledsim_btn_togglesigdetect">signal detection area</span></button>
|
|
<button type="button" class="btn btn-danger" id="leds_toggle_live_video"><i class="fa fa-fw fa-television"></i><span data-i18n="main_ledsim_btn_togglelivevideo">live video</span></button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Bootstrap Core JavaScript -->
|
|
<script src="js/lib/bootstrap.min.js"></script>
|
|
|
|
<!-- BSToggle -->
|
|
<script src="js/lib/bootstrap-toggle.min.js"></script>
|
|
|
|
<!-- Bootstrap Select JavaScript -->
|
|
<script src="js/lib/bootstrap-select.min.js"></script>
|
|
|
|
<!-- Metis Menu Plugin JavaScript -->
|
|
<script src="js/lib/metisMenu.min.js"></script>
|
|
|
|
<!-- Custom Theme JavaScript -->
|
|
<script src="js/lib/sb-admin-2.js"></script>
|
|
|
|
<script src="js/content_index.js"></script>
|
|
<script src="js/settings.js"></script>
|
|
<script src="js/streamer.js"></script>
|
|
<script src="js/wizard.js"></script>
|
|
|
|
<!--gijgo dialog-->
|
|
<script src="js/lib/draggable.min.js"></script>
|
|
<script src="js/lib/dialog.min.js"></script>
|
|
<script src="js/ledsim.js"></script>
|
|
|
|
<!--Client-side download-->
|
|
<script src='js/lib/download.min.js'></script>
|
|
|
|
<!--JsonAceEditor-->
|
|
<script src='js/lib/jsonaceeditor.min.js'></script>
|
|
<link href="css/jsonaceeditor.min.css" rel="stylesheet" type="text/css">
|
|
|
|
</body>
|
|
</html>
|