1 2 3 4<!DOCTYPE html> 5<html lang="en-US" data-lang="en-US" crm-lang="en-US" dir="ltr" crm-lcid="1033" 6 same-site-mode="None"> 7<head> 8 9 <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /> 10
10<script type="text/javascript" > 11 12 </script>
12 13 <title> 14 15 Home 16 17</title> 18 19
19<script src="/_portal/6cb09b5a-57ca-4f67-907c-c5967de616d4/Resources/ResourceManager?lang=en-US"></script>
19 20 21
21<script type="text/javascript"> 22 // Refresh all powerBI Iframes on Login in one Iframe 23 window.addEventListener('message', function (event) { 24 if (event && event.data && event.data == 'refreshPowerBI') { 25 $("iframe.powerbi").each(function () { 26 this.src = this.src; 27 }); 28 } 29 }); 30 31 // Fix for incorrect viewport width setting in IE 10 on Windows Phone 8. 32 if (navigator.userAgent.match(/IEMobile\/10\.0/)) { 33 var msViewportStyle = document.createElement("style"); 34 msViewportStyle.appendChild(document.createTextNode("@-ms-viewport{width:auto!important}")); 35 document.getElementsByTagName("head")[0].appendChild(msViewportStyle); 36 } 37 </script>
37 38 39 40 41 <link href="/bootstrap.min.css" rel="stylesheet" /> 42 43 <link href="https://content.powerapps.com/resource/powerappsportal/dist/font-awesome.bundle-3d8a58a48f.css" onerror="javascript: var target = event.target; var link = document.createElement('link'); link.crossOrigin = target.crossOrigin; link.href = '/dist/font-awesome.bundle-3d8a58a48f.css'; link.rel = 'stylesheet'; target.insertAdjacentElement('afterend',link);" rel="stylesheet" /> 44 45 <link href="https://content.powerapps.com/resource/powerappsportal/dist/preform.bundle-b72a6ea21d.css" onerror="javascript: var target = event.target; var link = document.createElement('link'); link.crossOrigin = target.crossOrigin; link.href = '/dist/preform.bundle-b72a6ea21d.css'; link.rel = 'stylesheet'; target.insertAdjacentElement('afterend',link);" rel="stylesheet" /> 46 47 48 49 <link href="https://content.powerapps.com/resource/powerappsportal/dist/privatemode.bundle-049b12b66e.css" onerror="javascript: var target = event.target; var link = document.createElement('link'); link.crossOrigin = target.crossOrigin; link.href = '/dist/privatemode.bundle-049b12b66e.css'; link.rel = 'stylesheet'; target.insertAdjacentElement('afterend',link);" rel="stylesheet" /> 50 51 52 53 54 55 56 57 58 <link rel="stylesheet" href="/Areas/Account/css/account.css"> 59 60 61 <link href="/thumbnail.css" rel="stylesheet" /> 62<link href="/theme.css" rel="stylesheet" /> 63<link href="/visiopharm.css" rel="stylesheet" /> 64<link href="/portalbasictheme.css" rel="stylesheet" /> 65 66 <style type="text/css">@import url('https://content.powerapps.com/resource/powerappsportal/fonts/undefined/undefined/400.css'); 67 undefined</style> 68 69 70 71 72 73 74 <link href="https://content.powerapps.com/resource/powerappsportal/dist/pwa-style.bundle-55718a4c0d.css" onerror="javascript: var target = event.target; var link = document.createElement('link'); link.crossOrigin = target.crossOrigin; link.href = '/dist/pwa-style.bundle-55718a4c0d.css'; link.rel = 'stylesheet'; target.insertAdjacentElement('afterend',link);" rel="stylesheet" /> 75 76 </head> 77<body data-sitemap-state="/" 78 data-dateformat="M/d/yyyy" 79 data-timeformat="h:mm tt" 80 data-datetimeformat="M/d/yyyy h:mm tt" 81 data-app-path="/" 82 data-ckeditor-basepath="/js/BaseHtmlContentDesigner/Libs/msdyncrm_/libs/ckeditor/" 83 data-case-deflection-url="/_services/search/6cb09b5a-57ca-4f67-907c-c5967de616d4"> 84 85 86 87 <link href="https://content.powerapps.com/resource/powerappsportal/dist/pcf-style.bundle-373a0f4982.css" onerror="javascript: var target = event.target; var link = document.createElement('link'); link.crossOrigin = target.crossOrigin; link.href = '/dist/pcf-style.bundle-373a0f4982.css'; link.rel = 'stylesheet'; target.insertAdjacentElement('afterend',link);" rel="stylesheet" /> 88 89 90 91 92 93 <div id="offlineNotificationBar" class="displayNone"> 94 <img alt="web" id="web" onerror="javascript: var target = event.target; var img = document.createElement('img'); img.src = '/css/images/web.png'; img.alt = 'web'; img.id = 'web' ; target.insertAdjacentElement('afterend',img); target.remove();" src="https://content.powerapps.com/resource/powerappsportal/img/web.png" /> 95 <div id="message">You’re offline. This is a read only version of the page.</div> 96 <div id="close" onclick="this.parentElement.style.display='none';"><img alt="close" onerror="javascript: var target = event.target; var img = document.createElement('img'); img.src = '/css/images/close.png'; img.alt = 'close'; img.id = '' ; target.insertAdjacentElement('afterend',img); target.remove();" src="https://content.powerapps.com/resource/powerappsportal/img/close.png" /></div> 97 </div> 98 99
100 101
101<script type="text/javascript"> 102 window.DisableCkEditor = window.DisableCkEditor || {}; 103 104 DisableCkEditor.Value = 'False'; 105 </script>
105 106 107
107<script type="text/javascript"> 108 var enableOmniChannelWidgetWithSiteCopilot = 'False'; 109 if (enableOmniChannelWidgetWithSiteCopilot === "True" || enableOmniChannelWidgetWithSiteCopilot === "true") { 110 const authUrl = window.location.origin + "/_services/auth/portalusertoken"; 111 const fetchWithRetries = async (url, options, retries) => { 112 try { 113 const authResponse = await fetch(url, options); 114 const token = await authResponse.text(); 115 sessionStorage['c2Token'] = token; 116 } catch (err) { 117 if (retries === 1) throw err; 118 return await fetchWithRetries(url, options, retries - 1); 119 } 120 }; 121 fetchWithRetries(authUrl, { method: "POST" }, 4); 122 123 // Enable/disable Omnichannel session refresh on auth state change 124 // When enabled, closeChat() is called when user logs in/out to start a fresh session 125 var enableOmniChannelSessionRefreshSetting = 'True'; 126 window.enableOmniChannelSessionRefresh = enableOmniChannelSessionRefreshSetting === 'True' || enableOmniChannelSessionRefreshSetting === 'true'; 127 } 128 </script>
128 129 130
130<script type="text/javascript"> 131 var isPvaBotAuthenticated = sessionStorage['isPvaBotAuthenticated']; 132 var isPortalUserLoggedIn = 'False'; 133 134 if ((isPvaBotAuthenticated != null || isPvaBotAuthenticated != undefined) && isPvaBotAuthenticated != isPortalUserLoggedIn) { 135 sessionStorage['triggerPvaBotSignOut'] = true; 136 sessionStorage.removeItem('c2Token'); 137 sessionStorage.removeItem('directLinetoken'); 138 sessionStorage.removeItem('conversation_Id'); 139 140 sessionStorage.removeItem('bot_c2Token'); 141 sessionStorage.removeItem('botdirectLinetoken'); 142 sessionStorage.removeItem('botconversation_Id'); 143 } 144 sessionStorage['isPvaBotAuthenticated'] = isPortalUserLoggedIn; 145 </script>
145 146 147
147<script type="text/javascript"> 148 window["CSPSettings"] = window["CSPSettings"] || {}; 149 window["CSPSettings"].nonce = ''; 150 window["FabricConfig"] = window["FabricConfig"] || {}; 151 window["FabricConfig"].mergeStyles = window["FabricConfig"].mergeStyles || {}; 152 window["FabricConfig"].mergeStyles.cspSettings = window["CSPSettings"]; 153 window["Microsoft"] = window["Microsoft"] || {}; 154 window["Microsoft"].Dynamic365 = { 155 Portal: { 156 157 User: { 158 userName: '', 159 firstName: '', 160 lastName: '', 161 email: '', 162 contactId: '', 163 userRoles: [], 164 }, 165 166 type: 'PowerPages_BlankTemplate_V2', 167 id: 'ffd7a5dd-63a9-411e-a1da-b170ddaba9c1', 168 geo: 'EUR', 169 tenant: 'de0b7bd1-b59e-4617-856a-25a13bd9baf5', 170 correlationId: '25f022d2-3255-41db-8f62-2b0090d43e51', 171 orgEnvironmentId: '79a33b35-88fb-4c90-9f53-970465d41534', 172 orgId: 'f876b256-b68b-43f3-90ce-c584b19178cf', 173 portalProductionOrTrialType: 'Production', 174 isTelemetryEnabled: 'True', 175 InstrumentationSettings: { 176 instrumentationKey: '197418c5cb8c4426b201f9db2e87b914-87887378-2790-49b0-9295-51f43b6204b1-7172', 177 collectorEndpoint: 'https://eu-mobile.events.data.microsoft.com/OneCollector/1.0/' 178 }, 179 timerProfileForBatching: 'NEAR_REAL_TIME', 180 activeLanguages: ["en-US"], 181 isClientApiEnabled: 'True', 182 isSpaSite: 'False' 183 } 184 }; 185 186 window["Microsoft"].PowerPages = window["Microsoft"].PowerPages || {}; 187 window["Microsoft"].PowerPages.onPagesClientApiReady = (callback) => { 188 return new Promise((resolve, reject) => { 189 let isComplete = false; 190 let timeoutId; 191 const timeoutInterval = 10000; 192 193 function handleReady() { 194 if (!isComplete && window.$pages) { 195 isComplete = true; 196 clearTimeout(timeoutId); 197 try { 198 if (typeof callback === "function") { 199 callback(window.$pages); 200 } 201 } catch (e) { 202 console.error("onPagesClientApiReady callback error:", e); 203 } 204 resolve(window.$pages); // should we reject if callback throws an error 205 } 206 } 207 208 if (window.$pages) { 209 handleReady(); 210 return; 211 } 212 213 function sdkListener() { 214 handleReady(); 215 window.removeEventListener('pagesSDKInitialized', sdkListener); 216 } 217 218 window.addEventListener('pagesSDKInitialized', sdkListener); 219 220 timeoutId = setTimeout(() => { 221 if (!isComplete) { 222 window.removeEventListener('pagesSDKInitialized', sdkListener); 223 if (window.$pages) { 224 handleReady(); 225 } else { 226 isComplete = true; 227 reject(new Error('window.$pages not available.')); 228 } 229 } 230 }, timeoutInterval); 231 }); 232 }; 233 234 // Deprecated alias: Microsoft.Dynamic365.Portal.onPagesClientApiReady. 235 // Remove once telemetry shows no callers remain. 236 (function () { 237 var _impl = window["Microsoft"].PowerPages.onPagesClientApiReady; 238 var _logged = false; 239 240 window["Microsoft"].Dynamic365.Portal.onPagesClientApiReady = function (callback) { 241 if (!_logged) { 242 _logged = true; 243 try { 244 if (window.clientLogWrapper && typeof window.clientLogWrapper.traceWarning === "function") { 245 window.clientLogWrapper.traceWarning( 246 "Microsoft.Dynamic365.Portal.onPagesClientApiReady invoked (deprecated)", 247 "DeprecatedApi", 248 "ClientApiReady", 249 "Invoke", 250 "DeprecationTracker" 251 ); 252 } 253 if (typeof console !== "undefined" && console.warn) { 254 console.warn( 255 "[DEPRECATED] Microsoft.Dynamic365.Portal.onPagesClientApiReady is deprecated " + 256 "and will be removed in a future release. Use Microsoft.PowerPages.onPagesClientApiReady instead." 257 ); 258 } 259 } catch (_) { /* never break the caller */ } 260 } 261 262 return _impl(callback); 263 }; 264 })(); 265 266 // Mark request not cacheable if Dynamics365PortalAnalytics cookie is being refreshed by the server or if the cookie in request header is invali
266d 267 268 269 // For client side telemetry intializing Dynamics365PortalAnalytics cookie object 270 271 window["Microsoft"].Dynamic365.Portal.dynamics365PortalAnalytics = '1mxtAWCOLa4isNNq5LBJZIkYHrHpr5SKv_YGHOU5mHB9lewgmRRPrHHE4MIBpmyGDy7ciVRvJlhgohTFmqtjj3eoC7nfTAyg26gwP-jRCnXlmqW00lWBb-SoW3y9qKcIhpbyCMVGGDiTZ0MrbsShAw2'; // CodeQL [SM00430] False Positive: only alphanumeric chars allowed, for non-alphanumeric char it will return INVALID_CHARACTERS_IN_COOKIE 272 273 274 </script>
274 275 276
276<script type="text/javascript"> 277 278 279 </script>
279 280 281 282
283<script> 284 if(window.location.href.includes("Register") && document.referrer.includes("Account/Login/Register?returnUrl=%2FRegister&invitationCode")) 285 window.location.href = "/" 286</script>
286 287 288<div class="navbar navbar-inverse navbar-static-top" role="navigation"> 289 <div class="container"> 290 <div class="navbar-header"> 291 <div class="visible-xs-block"> 292 <div class="xrm-editable-html xrm-attribute" data-languageContext="English"><div class="xrm-attribute-value"><div><a class="navbar-brand" href="~/" tabindex="-1" title="Visiopharm">Visiopharm</a></div></div></div> 293 </div> 294 <div class="visible-sm-block visible-md-block visible-lg-block navbar-brand" style=" 295 padding-top: 0px; 296 padding-bottom: 0px; 297"> 298 <div class="xrm-editable-html xrm-attribute" data-languageContext="English"><div class="xrm-attribute-value"><p> 299 <a href="~/" title="Visiopharm" class="homelink"><img alt="" src="/logo_visiopharm_1line_rgb_blk_narrow.png" style="width: 188px; height: auto;" /></a> 300</p> 301</div></div> 302 </div> 303 <button type="button" class="navbar-toggle collapsed" title="Toggle navigation" data-toggle="collapse" data-target="#navbar" aria-expanded="false" onclick="setHeight();"> 304 <span class="sr-only">Toggle navigation</span> 305 <span class="icon-bar"></span> 306 <span class="icon-bar"></span> 307 <span class="icon-bar"></span> 308 </button> 309 </div> 310 <div id="navbar" class="navbar-collapse collapse"> 311 312 313 <div class="navbar-right menu-bar " data-weblinks-maxdepth="2"> 314 <ul class="nav navbar-nav weblinks" role="menubar"> 315 316 317 318 319 320 321 <li role="none" class="weblink "> 322 <a role="menuitem" 323 aria-label="Home" 324 href="/" 325 title="Home"> 326 <span class="fa fa-home" aria-hidden="true"></span> 327 </a> 328 329 330 </li> 331 332 333 334 <li class="divider-vertical" aria-hidden="true"></li> 335 336 337 338 339 340 <li role="none" class="weblink "> 341 <a role="menuitem" 342 aria-label="My Visiopharm" 343 href="/" 344 rel="nofollow" title="My Visiopharm"> 345 My Visiopharm 346 </a> 347 348 349 </li> 350 351 352 353 354 <li class="divider-vertical" aria-hidden="true"></li> 355 <li class="dropdown" role="none"> 356 <a id="search" class="navbar-icon" href="#" data-toggle="dropdown" 357 role="button" aria-haspopup="true" aria-expanded="false" 358 aria-label="Search" > 359 <span class="glyphicon glyphicon-search"></a> 360 </a> 361 <ul class="dropdown-menu dropdown-search"> 362 <li> 363 364 365 366 367 368 369<form method="GET" action="/search/" role="search" class="form-search"> 370 <div class="input-group"> 371 372 373 374 375 376 <div class="btn-group btn-select input-group-btn" data-target="#filter-a8fd7ce2-0ac5-4f7b-9cfa-719f42cd8ba8" data-focus="#q"> 377 <ul> 378 <li class="dropdown-submenu dropdown"> 379 <button id="search-filter" type="button" class="btn btn-default" 380 data-toggle="dropdown" 381 aria-haspopup="true" aria-label="Search Filter" aria-expanded="false"> 382 383 <span class="selected">All</span> 384 <span class="caret"></span> 385 </button> 386 <ul class="dropdown-menu" role="listbox" aria-label="Search Filter"> 387 <li role="presentation"> 388 <a href="#" role="option" data-value="" 389 aria-label="All" aria-selected="false" tabIndex="-1">All</a> 390 </li> 391 392 <li role="presentation"> 393 <a href="#" role="option" data-value="incident" 394 aria-label="Cases" aria-selected="false" tabIndex="-1">Cases</a> 395 </li> 396 397 <li role="presentation"> 398 <a href="#" role="option" data-value="knowledgearticle" 399 aria-label="Knowledge Articles" aria-selected="false" tabIndex="-1">Knowledge Articles</a> 400 </li> 401 402 </ul> 403 </li> 404 </ul> 405 </div> 406 <label for="filter-a8fd7ce2-0ac5-4f7b-9cfa-719f42cd8ba8" class="sr-only">Search Filter</label> 407 <select id="filter-a8fd7ce2-0ac5-4f7b-9cfa-719f42cd8ba8" name="logicalNames" class="btn-select" aria-hidden="true" data-query="logicalNames"> 408 <option value="" selected="selected">All</option> 409 410 <option value="incident">Cases</option> 411 412 <option value="knowledgearticle">Knowledge Articles</option> 413 414 </select> 415 416 417 <label for="q" class="sr-only"> 418 Search 419 </label> 420 <input type="text" class="form-control" id="q_id" name="q" 421 placeholder="Search" 422 value="" 423 title="Search"> 424 <div class="input-group-btn"> 425 <button type="submit" class="btn btn-default" 426 title="Search" 427 aria-label="Search">
428 <span class="fa fa-search" aria-hidden="true"></span> 429 </button> 430 </div> 431 </div> 432</form> 433 434 435 </li> 436 </ul> 437 </li> 438 439 <li class="divider-vertical" aria-hidden="true"></li> 440 441 442 <li role="none"> 443 <a role="menuitem" aria-label="Sign in" href="/SignIn?returnUrl=%2Fsignin" title="Sign in"> 444 Sign in 445 </a> 446 </li> 447 448 </ul> 449 450 </div> 451 452 <div class="navbar-right hidden-xs"> 453 <div class="xrm-editable-html xrm-attribute no-value"><div class="xrm-attribute-value"></div></div> 454 </div> 455 </div> 456 </div> 457</div> 458 459 460 461 462 463 464
465<script type="text/javascript"> 466 window.onload = function() { 467 if(window.navigator.appName == "Microsoft Internet Explorer" || window.navigator.userAgent.indexOf("Trident") > 0){ 468 var searchElement = document.getElementById("search"); 469 if (searchElement != null) searchElement.setAttribute("href", ""); 470 } 471 }; 472 473 function setHeight(){ 474 var windowHeight = window.innerHeight - 140; 475 var navbar = document.getElementById("navbar"); 476 if (navbar) { 477 navbar.style.maxHeight = windowHeight + "px"; 478 } 479 } 480 481 window.addEventListener('resize', function (event) { 482 setHeight(); 483 }); 484</script>
484 485 486 487 <!-- add anti-forgery token--> 488 <div id="antiforgerytoken" data-url="/_layout/tokenhtml"></div> 489 490 491 <!-- Client Telemetry init if telemetry enabled--> 492
492<script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/client-telemetry.bundle-d490766e4f.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/client-telemetry.bundle-d490766e4f.js" type="text/javascript"></script>
492 493 494 495 496 <!-- Client Telemetry Wrapper init --> 497
497<script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/client-telemetry-wrapper.bundle-633e70f51b.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/client-telemetry-wrapper.bundle-633e70f51b.js" type="text/javascript"></script>
497 498 499
499<script> 500 window.clientLogWrapper = new ClientLogWrapper(); 501 </script>
501 502
502<script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/preform.moment_2_29_4.bundle-750b699ecd.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/preform.moment_2_29_4.bundle-750b699ecd.js" type="text/javascript"></script>
502 503 504 505 506
506<script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/pcf-dependency.bundle-805a1661b7.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/pcf-dependency.bundle-805a1661b7.js" type="text/javascript"></script>
506 507 508
508<script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/pcf.bundle-60440c37cb.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/pcf.bundle-60440c37cb.js" type="text/javascript"></script>
508 509 510
510<script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/pcf-extended.bundle-b0e01b5622.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/pcf-extended.bundle-b0e01b5622.js" type="text/javascript"></script>
510 511 512 513 514 <div id="content-container" class="container wrapper-body" role="main"> 515 <div id="content"> 516 517 518 519 <ul class="nav nav-tabs nav-account" role="tablist" onkeydown="navigation(event)"> 520 <li role="none" class="active"><a role="tab" aria-selected="True" href="javascript:void(0)" aria-label="Sign in" title="Sign in"><span class="fa fa-sign-in" aria-hidden="true"></span> Sign in</a></li> 521 522 <li role="none" class=""><a role="tab" aria-selected="False" href="/Register" aria-label="Redeem invitation" title="Redeem invitation">Redeem invitation</a></li> 523 524 </ul> 525
526<script type="text/javascript"> 527 528 const keyCodes = { 529 END: 35, 530 HOME: 36, 531 LEFT: 37, 532 RIGHT: 39, 533 SPACE: 32 534 }; 535 536 $(document).ready(function () { 537 //make the tabindex='0' for active tab and -1 for others 538 $(".nav.nav-tabs.nav-account > li > a").attr("tabindex", "-1"); 539 $(".nav.nav-tabs.nav-account > li > a").attr("aria-selected", "false"); 540 $(".nav.nav-tabs.nav-account > li.active > a").attr("tabindex", "0"); 541 $(".nav.nav-tabs.nav-account > li.active > a").trigger("focus"); 542 $(".nav.nav-tabs.nav-account > li.active > a").attr("aria-selected", "true"); 543 }); 544 545 function navigation(e) 546 { 547 //change tabindex dynamically for all the tabs on key press of left-right navigation keys or home/end keys 548 var tabs = $(".nav.nav-tabs.nav-account > li > a"); 549 if (e.keyCode === keyCodes.END || e.keyCode === keyCodes.HOME || e.keyCode === keyCodes.LEFT || e.keyCode === keyCodes.RIGHT) { 550 var currentTab = $(document.activeElement); 551 for (index = 0; index < tabs.length; index++) { 552 if ($(tabs[index]).text() === currentTab.text()) { 553 e.keyCode === keyCodes.LEFT || e.keyCode === keyCodes.END ? (index == 0 || e.keyCode === keyCodes.END ? $(tabs[tabs.length - 1]).trigger("focus") : 554 $(tabs[index - 1]).trigger("focus")) : (index == (tabs.length - 1) || e.keyCode === keyCodes.HOME ? $(tabs[0]).focus() : $(tabs[index + 1]).trigger("focus")); 555 } 556 } 557 } 558 //open tab on click of SPACE key 559 if (e.keyCode == keyCodes.SPACE) { 560 e.preventDefault(); 561 $(document.activeElement)[0].click(); 562 tabs.attr("tabindex", "-1").attr("aria-selected", "false"); 563 } 564 } 565</script>
565 566 567 568 <div class="page-content" id="mainContent"> 569 570 <div class="xrm-editable-html xrm-attribute page-copy"><div class="xrm-attribute-value">
570<script> 571$(document).ready(function () { 572var labelElement = document.querySelector('label[for="Email"]'); 573labelElement.classList.add('required'); 574}); 575</script>
575</div></div> 576 577 578 579 <div class="row"> 580 581 <div class="col-md-6"> 582 583 584<form action="/SignIn" method="post"> 585 <input name="__RequestVerificationToken" type="hidden" value="Va9A07ui_oKZ_TZ0I0Vkytf-xFsSIZjyftmbQnpxumChiUyjFBaS1Ro1ViYVa1GA_nuVeoe4WG2LOTpjRIlkWGW09xWqBWQ1wzzZrUMFT0M1" /> 586 <div class="form-horizontal"> 587 <h2 class="login-heading-section" id="local-login-heading"> 588 <span class="xrm-editable-text xrm-attribute"><span class="xrm-attribute-value-encoded xrm-attribute-value">Sign in with a local account</span></span> 589 </h2> 590 <div class="validation-summary-valid listStyleTypeNone alert alert-block alert-danger" data-valmsg-summary="true" id="loginValidationSummary"><ul><li style="display:none"></li> 591</ul></div> 592 593 <div class="form-group"> 594 <label class="col-sm-4 control-label required" for="Email"><span class="xrm-editable-text xrm-attribute"><span class="xrm-attribute-value-encoded xrm-attribute-value">Email</span></span></label> 595 <div class="col-sm-8"> 596 <input class="form-control" data-val="true" data-val-email="The Email field doesn’t contain a valid email address." id="Email" name="Email" type="text" value="" /> 597 </div> 598 </div> 599 600 <div class="form-group"> 601 <label class="col-sm-4 control-label required" for="PasswordValue"><span class="xrm-editable-text xrm-attribute"><span class="xrm-attribute-value-encoded xrm-attribute-value">Password</span></span></label> 602 <div class="col-sm-8"> 603 <input autocomplete="new-password" class="form-control" id="PasswordValue" name="PasswordValue" type="password" /> 604 </div> 605 </div> 606 607 <div class="form-group"> 608 <div class="col-sm-offset-4 col-sm-8"> 609 <div class="checkbox"> 610 <label> 611 <input data-val="true" data-val-required="The RememberMe field is required." id="RememberMe" name="RememberMe" type="checkbox" value="true" /><input name="RememberMe" type="hidden" value="false" /> 612 <span class="xrm-editable-text xrm-attribute"><span class="xrm-attribute-value-encoded xrm-attribute-value">Remember me?</span></span> 613 </label> 614 </div> 615 </div> 616 </div> 617 618 <div class="form-group"> 619 <div class="col-sm-offset-4 col-sm-8"> 620 <button id="submit-signin-local" class="btn btn-primary" title="Sign in">Sign in</button> 621 622 <a class="btn btn-default" role="link" href="/Account/Login/ForgotPassword" title="Forgot your password?">Forgot your password?</a> 623 624 </div> 625 </div> 626 </div> 627</form>
628<script type="text/javascript"> 629 $(function() { 630 $("#submit-signin-local").on("click", function () { 631 $.blockUI({ message: null, overlayCSS: { opacity: .3 } }); 632 }); 633 }); 634 $(document).ready(function () { 635 if (portal) { 636 portal.UpdateValidationSummary("loginValidationSummary"); 637 } 638 }); 639</script>
639 640 641 </div> 642 643 <div class="col-md-6"> 644 645 646<form action="/Account/Login/ExternalLogin" method="post"> 647<input name="__RequestVerificationToken" type="hidden" value="pW1XulCmMrRRb1heE6sFMpO9us9F8O3QsQslFJH93nzWdqgltsdvakqivig1Jby2MIrzLCW2D_dLfi4hQ0KTt2WJ9U9OJjlC5RvRuiKzGKY1" /> 648<div class="form-horizontal"> 649 <!-- Check if external login is enabled --> 650 <h2 class="login-heading-section" id="external-login-heading"> 651 <span class="xrm-editable-text xrm-attribute"><span class="xrm-attribute-value-encoded xrm-attribute-value">Sign in with an external account</span></span> 652 </h2> 653 <div id="6_ctl00_AzureADRebrandDisclaimer"> 654 655</div> 656 657 658 659 <button 660 name="provider" type="submit" class="btn btn-primary btn-line" 661 id="https://login.windows.net/de0b7bd1-b59e-4617-856a-25a13bd9baf5/" 662 title="Sign in with your Azure AD account." 663 value="https://login.windows.net/de0b7bd1-b59e-4617-856a-25a13bd9baf5/">Azure AD 664 </button> 665 666 667</div> 668</form> 669 670 </div> 671 672 </div> 673
673<script type="text/javascript"> 674 $(document).ready(function () { 675 document.querySelector('title').innerHTML = ($('.nav-tabs > li.active').text() + ""); 676 shell.refreshToken(); 677 }); 678</script>
678 679 680 </div> 681 682 </div> 683 </div> 684 685 686
686<script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/pcf-loader.bundle-f4a0e619b8.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/pcf-loader.bundle-f4a0e619b8.js" type="text/javascript"></script>
686 687 688 689 690 691 692 693 <div id="pp-native-controls-react-root"></div>
694<script>window._nativeControlConfig = { "publicPath":"https://content.powerapps.com/resource/powerappsportal/controls", "versions": {"pcf_loader":"0.0.51","pcf_controls":"3.24.8","mf_shared":"0.2.32","host":"0.15.1","data_grid":"1.12.3","controls_fluent_v9":"0.0.54"}, "pvaEmbedded": { "defaultWidgetMode": "normal", "useCustomTypingIndicator": false, "skipSingleBotWelcomeScreen": false } }</script>
vendor: 1 bytes, line 694
694
695<script defer="defer" src="https://content.powerapps.com/resource/powerappsportal/controls/host/main.3ee2491f78.chunk.js"></script>
695 696 697 698 699 <div id="footer"> 700 <div class="container"> 701 <div class="row"> 702 <div class="moduletable mod-98 box col-sm-6 mr-sm-auto order-sm-1 col-md-12 col-lg-4"> 703 <div class="module_container"> 704 <header> 705 <h3 class="moduleTitle ">Contact information</h3> 706 </header> 707 <div class="custom"> 708 <p>Visiopharm is headquartered in Denmark with regional offices in Sweden and United States. In additional to our direct teams, we have a network of authorized distributors that represents our products throughout the world.</p> 709 <p>Experiencing any trouble? Contact <a href="/support">Support</a>.</p> 710 </div> 711 </div> 712 </div> 713 <div class="moduletable mod-99 col-sm-2 mr-sm-auto order-sm-1 col-md-6 col-lg-2"> 714 <div class="module_container"> 715 <header> 716 <h3 class="moduleTitle ">Headquarters</h3> 717 </header> 718 <div class="custom"> 719 <p>Agern Allé 24<br>DK-2970 Hoersholm<br>Denmark<br>Phone: +45 88 20 20 88</p> 720 </div> 721 </div> 722 </div> 723 <div class="moduletable mod-100 box col-sm-6 mr-sm-auto order-sm-1 col-md-6 col-lg-2"> 724 <div class="module_container"> 725 <header> 726 <h3 class="moduleTitle ">United States</h3> 727 </header> 728 <div class="custom"> 729 <p>P.O. Box 486<br>Broomfield, CO 80038<br>Phone: (877) 843-5268<br>Fax: (877) 843-5268</p> 730 </div> 731 </div> 732 </div> 733 <div class="moduletable mod-153 newsletter footer-newsletter col-lg-4 order-lg-1"> 734 <div class="module_container"> 735 <div class="custom"> 736 <h3>Stay informed</h3> 737 <p style="margin-bottom: 30px;">Join our community of visionary scientists and pathologists <br>and receive our newsletter.</p> 738 <p> 739 <a href="https://visiopharm.com/newsletter-sign-up" class="btn btn-primary btn-line" target="_blank">Sign Up</a> 740 </p> 741 </div> 742 </div> 743 </div> 744 </div> 745 </div> 746</div> 747 748 749
749<script type="text/javascript"> 750 751 function trackCopilotCustomUsage(botSchema) { 752 const request = { 753 botSchemaName: botSchema 754 } 755 var json = JSON.stringify(request); 756 shell.ajaxSafePost({ 757 type: "POST", 758 contentType: "application/json", 759 url: "/_services/copilot/TrackUsage", 760 data: json 761 }).done(function () { 762 }).fail(function (jqXhr) { 763 }); 764 } 765 766 function findAndLogCustomCopilotUsage() { 767 const pageSource = document.documentElement.outerHTML; 768 const customPvaBotWebchatRegex = /api\.(preprod\.|test\.)?powerplatform\.(com|us|cn|appsplatform\.us)\/powervirtualagents\/botsbyschema\/([^/]+)\/directline\/token/; 769 const customPvaBotIframeRegex = /powerva\.microsoft\.com\/environments\/([0-9a-fA-F\-]+)\/bots\/([^/]+)\/webchat/; 770 const omniChannelRegex = /livechatwidget\/scripts\/LiveChatBootstrapper\.js/; 771 772 const matchPvaBotWebchat = pageSource.match(customPvaBotWebchatRegex); 773 if (matchPvaBotWebchat && matchPvaBotWebchat[3]) { 774 trackCopilotCustomUsage(matchPvaBotWebchat[3]); 775 } 776 777 const matchPvaBotIframe = pageSource.match(customPvaBotIframeRegex); 778 if (matchPvaBotIframe && matchPvaBotIframe[2]) { 779 trackCopilotCustomUsage(matchPvaBotIframe[2]); 780 } 781 782 const matchOmniChannel = pageSource.match(omniChannelRegex); 783 if (matchOmniChannel && matchOmniChannel[0]) { 784 trackCopilotCustomUsage("omnichannelWidget"); 785 } 786 } 787 788 window.addEventListener("load", function () { 789 findAndLogCustomCopilotUsage(); 790 }); 791 </script>
791 792 793 794 795 796 797 798 799
799<script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/bootstrap.bundle-105a4995b8.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/bootstrap.bundle-105a4995b8.js" type="text/javascript"></script>
799 800 801
801<script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/postpreform.bundle-4687dda8df.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/postpreform.bundle-4687dda8df.js" type="text/javascript"></script>
801 802 803
803<script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/app.bundle-1e948af604.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/app.bundle-1e948af604.js" type="text/javascript"></script>
803 804 805
805<script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/default-1033.moment_2_29_4.bundle-eda4e638fd.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/default-1033.moment_2_29_4.bundle-eda4e638fd.js" type="text/javascript"></script>
805 806 807 808 809 810 811 812
812<script> 813 //this event will update the title of the page based on active breadcrumb 814 $('.breadcrumb').ready(function () { 815 if ($('.breadcrumb').is(':visible')) { 816 document.querySelector('title').innerHTML = ($('.breadcrumb > li.active').text() + ""); 817 } 818 }); 819 820 function GoToNewEditor() { 821 var editCmsUrlSegment = "EditInCms"; 822 var currentUrl = window.location.href; 823 if (currentUrl.indexOf('?') > -1) { 824 var urlSegments = currentUrl.split("?"); 825 window.location.href = window.location.origin + '/' + editCmsUrlSegment + window.location.pathname + '?' + urlSegments[1]; 826 } 827 else { 828 window.location.href = window.location.origin + '/' + editCmsUrlSegment + window.location.pathname; 829 } 830 } 831 </script>
831 832 833 834 835 836 837
837<script> 838 if ('serviceWorker' in navigator) { 839 navigator.serviceWorker.getRegistrations().then(function (registrations) { 840 for (let registration of registrations) { 841 registration.unregister(); 842 } 843 }).catch(function (err) { 844 console.log('Service Worker unregister action failed: ', err); 845 }); 846 } 847 </script>
847 848 849 850 851 <!--Start Show Session Expire Warning Popup here --> 852 853 854</body> 855</html> 856<!-- Generated at 10/3/2026 8:53:15 PM --> 857<!-- Page OK -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.