1 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Openstudio 1.12 crashing when I clear library search field - Unmet Hours</title> <meta name="description" content="Using Openstudio 1.12 the program crashes whenever I try to clear the search dialog in the Library tabs. Anyone having this issue?" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=EDGE" /> <meta name="keywords" content=",unmet hours,forum,community,building energy modeling" /> <meta name="referrer" content="always" /> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" /> <link rel="shortcut icon" href="/upfiles/favicon_pjhINSr.ico" /> <link 3 rel="alternate" 4 type="application/rss+xml" 5 href="https://unmethours.com/feeds/rss/" 6 /> <link rel="stylesheet" href="/m/CACHE/css/cfc932fa70e0.css" type="text/css" /> <link 7 href="/custom.css?v=1" 8 rel="stylesheet" 9 type="text/css" 10 /> <link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&subset=latin-ext" rel="stylesheet" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&subset=cyrillic-ext" rel="stylesheet" type="text/css" /> <link rel="canonical" href="https://unmethours.com/question/103443/openstudio-112-crashing-when-i-clear-library-search-field/" /> <link rel="stylesheet" type="text/css" href="/m/default/media/wmd/wmd.css?v=1" />
10<script type="text/javascript" src="/m/default/media/jslib/modernizr.custom.js?v=1"></script>
10
10<script type="text/javascript"> 11 var askbot = {}; 12 askbot['data'] = {}; 13 askbot['data']['userIsAuthenticated'] = false; 14 askbot['data']['languageCode'] = 'en'; 15 16 askbot['data']['userReputation'] = 0; 17 askbot['data']['userEmail'] = null; 18 askbot['data']['userIsReadOnly'] = false;//in principle we allow anon users to start posting 19 20 askbot['urls'] = {}; 21 askbot['settings'] = {}; 22 askbot['messages'] = {}; 23 24</script>
24
24<script type="text/javascript" src="/s/jsi18n/"></script>
24
24<script type="text/javascript"> 25 /*<![CDATA[*/ 26 //below is pure cross-browser javascript, no jQuery 27 askbot['data']['userIsThreadModerator'] = false; 28 askbot['data']['oldestAnswerId'] = -1; 29 askbot['data']['threadIsClosed'] = false; 30 31 (function(){ 32 33 var hasClass = function(node, selector) { 34 var classes = (" " + node.className + " ").split(' '); 35 for (var i = 0; i < classes.length; i++) { 36 if (classes[i] === selector) { 37 return true; 38 } 39 } 40 return false; 41 } 42 43 var findClosestParentByClassName = function(node, className) { 44 if (hasClass(node, className)) { 45 return node; 46 } 47 if (node.nodeName === 'BODY') { 48 return false; 49 } else { 50 return findClosestParentByClassName(node.parentNode, className); 51 } 52 }; 53 54 var findChildrenByClassName = function(node, className) { 55 var nodes = []; 56 var walk = function(node) { 57 if (hasClass(node, className)) { 58 nodes.push(node); 59 } 60 if (node.childNodes) { 61 for (var i=0; i < node.childNodes.length; i++) { 62 walk(node.childNodes[i]); 63 } 64 } 65 }; 66 walk(node); 67 return nodes; 68 }; 69 70 var getTextContent = function(node) { 71 var text = node.innerText || node.textContent; 72 if (text === undefined) { 73 return ''; 74 } else { 75 return text; 76 } 77 }; 78 79 var hasAttribute = function(node, attrName) { 80 if (node.hasAttribute) { 81 return node.hasAttribute(attrName); 82 } else { 83 return (!(!(node.getAttribute(attrName)))); 84 } 85 }; 86 87 var findChildByAttribute = function(node, attrName, attrVal) { 88 var children = node.childNodes; 89 for (var i = 0; i < children.length; i++) { 90 var child = children[i]; 91 if (child.getAttribute(attrName) === attrVal) { 92 return child; 93 } 94 }; 95 return null; 96 }; 97 98 var postIsComment = function(postId) { 99 if (document.getElementById('comment-' + postId)) { 100 return true; 101 } 102 return false; 103 }; 104 105 var getPost = function(postId) { 106 return document.getElementById('post-id-' + postId); 107 } 108 109 var postIsQuestion = function(postId) { 110 var content = getPost(postId); 111 if (content) { 112 if (hasClass(content, 'js-comment')) { 113 return false; 114 } 115 if (findClosestParentByClassName(content, 'js-question')) { 116 return true; 117 } 118 } 119 return false; 120 }; 121 122 var removeNode = function(node) { 123 node.parentNode.removeChild(node); 124 }; 125 126 var trim = function(text) { 127 return text.replace(/^\s+|\s+$/g, ''); 128 }; 129 130 var data = askbot['data']; 131 var isAuthorOfPost = function(post_id) { 132 return (data['user_posts'] && data['user_posts'][post_id]); 133 }; 134 135 if (data['userIsAuthenticated']){ 136 var votes = {}; 137 138 data['user_votes'] = votes; 139 var posts = {}; 140 141 data['user_posts'] = posts; 142 } 143 144 function render_vote_buttons(post_type, post_id){ 145 var upvote_btn = document.getElementById( 146 post_type + '-img-upvote-' + post_id 147 ); 148 var downvote_btn = document.getElementById( 149 post_type + '-img-downvote-' + post_id 150 ); 151 if (data['userIsAuthenticated']){ 152 if (post_id in data['user_votes']){ 153 var vote = data['user_votes'][post_id]; 154 if (vote == -1){ 155 var btn = downvote_btn; 156 } else if (vote == 1){ 157 var btn = upvote_btn; 158 } else { 159 return; 160 } 161 if (post_type == 'comment'){ 162 btn.className = btn.className + ' upvoted'; 163 } else { 164 btn.className = btn.className + ' on'; 165 } 166 } 167 } 168 } 169 170 function hide_convert_answer_links(post_id){ 171 var id1 = 'post-' + post_id + '-convert';//for repost as Q comment 172 var repostAsQuestionComment = document.getElementById(id1); 173 var id2 = 'post-' + post_id + '-repost-as-comment-under-previous-answer'; 174 var repostAsPrevAnsComment = document.getElementById(id2); 175 var extraOptsList = repostAsQuestionComment.parentNode; 176 var extraOpts = extraOptsList.parentNode; 177 178 var isAuthenticated = data['userIsAuthenticated']; 179 var isMod = data['userIsAdminOrMod']; 180 if (isAuthenticated && (isMod || isAuthorOfPost(post_id))) { 181 //still may need to hide because answer may be too long 182 var answer_container = getPost(post_id); 183 var answerBody = findChildrenByClassName(answer_container, 'post-body')[0]; 184 //todo: this is not reliable 185 var answerBodyNodes = answerBody.childNodes; 186 var answerElement = answerBodyNodes[answerBodyNodes.length - 1]; 187 if (trim(getTextContent(answerElement)).length > askbot['data']['maxCommentLength']) { 188 repostAsQuestionComment.parentNode.removeChild(repostAsQuestionComment); 189 repostAsPrevAnsComment.parentNode.removeChild(repostAsPrevAnsComment); 190 } else if (parseInt(post_id) === data['oldestAnswerId']) { 191 repostAsPrevAnsComment.parentNode.removeChild(repostAsPrevAnsComment); 192 } 193 } else { 194 repostAsQuestionComment.parentNode.removeChild(repostAsQuestionComment); 195 repostAsPrevAnsComment.parentNode.removeChild(repostAsPrevAnsComment); 196 } 197 198 //if the whole control is empty - remove it 199 if (extraOptsList.getElementsByTagName('li').length === 0) { 200 extraOpts.parentNode.removeChild(extraOpts); 201 } 202 } 203 204 function hidePublishAnswerLink(postId) { 205 if (data['userIsThreadModerator'] === false) { 206 //hide publish/unpublish answer links 207 var answerId = 'post-' + postId + '-publish'; 208 var pubBtn = document.getElementById(answerId); 209 if (pubBtn) { 210 removeNode(pubBtn); 211 } 212 } 213 } 214 215 function remove_all_controls(post_id) { 216 var deleteBtn = document.getElementById('post-' + post_id + '-delete'); 217 var controls = deleteBtn.parentNode;
218 if (controls.className == 'comment-content') { 219 removeNode(deleteBtn); 220 var convertLinks = findChildrenByClassName(controls, 'convert-comment'); 221 if (convertLinks.length) { 222 removeNode(convertLinks[0]); 223 } 224 var editLinks = findChildrenByClassName(controls, 'edit'); 225 if (editLinks.length) { 226 removeNode(editLinks[0]); 227 } 228 } else { 229 var buttons = controls.childNodes; 230 var numButtons = buttons.length; 231 for (var i = numButtons - 1; i >= 0; i--) { 232 removeNode(buttons[i]); 233 } 234 } 235 }; 236 237 function render_post_controls(post_id, is_wiki){ 238 239 //in this case remove all post controls 240 if (askbot['settings']['readOnlyModeEnabled'] === true) { 241 remove_all_controls(post_id); 242 return; 243 } 244 245 var deleteBtn = document.getElementById('post-' + post_id + '-delete'); 246 var controls = deleteBtn.parentNode; 247 var mergeBtn = findChildrenByClassName(controls, 'question-merge'); 248 if (mergeBtn.length === 1 && data['userIsThreadModerator'] === false) { 249 removeNode(mergeBtn[0]); 250 } 251 252 if (data['userIsAdminOrMod']) { 253 return;//all remaining functions stay on 254 } 255 256 257 258 if (isAuthorOfPost(post_id)) { 259 if (postIsQuestion(post_id) && 0) { 260 if (data['userReputation'] < 1) { 261 if (!data['userIsAdminOrMod']) { 262 removeNode(deleteBtn); 263 } 264 } 265 } 266 //todo: remove edit button from older comments 267 return; 268 } 269 270 if (//maybe remove "delete" button 271 (data['userReputation'] < 272 100000) || data['userIsReadOnly'] 273 ) { 274 removeNode(deleteBtn); 275 } 276 277 var canFlagPosts = data['userReputation'] >= 20; 278 var flags = findChildrenByClassName(controls, 'question-flag'); 279 if (flags.length > 0 && !canFlagPosts) { 280 for (var i = 0; i < flags.length; i++) { 281 removeNode(flags[i]); 282 } 283 } 284 var closeBtn = findChildrenByClassName(controls, 'question-close'); 285 if ( 286 closeBtn.length === 1 && 287 ( 288 (data['userReputation'] < 500) || 289 data['userIsReadOnly'] 290 ) 291 ) { 292 removeNode(closeBtn[0]); 293 } 294 var enoughRep = (data['userReputation'] >= 200 || 295 (is_wiki && data['userReputation'] >= 100)); 296 if (//maybe remove "edit" button 297 !enoughRep || data['userIsReadOnly']//only authors edit comments 298 ){ 299 var editBtns = findChildrenByClassName(getPost(post_id), 'js-edit'); 300 var numBtns = editBtns.length; 301 for (var i=0; i<numBtns; i++) { 302 removeNode(editBtns[i]); 303 } 304 } 305 if (//maybe remove retag button 306 (!isAuthorOfPost(post_id)) && 307 postIsQuestion(post_id) && 308 ((data['userReputation'] < 309 200) || 310 data['userIsReadOnly']) 311 ){ 312 var retagBtn = document.getElementById('retag'); 313 if (retagBtn) { 314 removeNode(retagBtn); 315 } 316 } 317 } 318 319 function render_add_answer_button(){ 320 var add_answer_btn = document.getElementById('add-answer-btn'); 321 if (askbot['data']['userIsAuthenticated']){ 322 if (askbot['data']['userId'] == 93475){ 323 add_answer_btn.className += ' answer-own-question'; 324 add_answer_btn.setAttribute( 325 'value', 326 'Answer Your Own Question' 327 ) 328 } else { 329 add_answer_btn.setAttribute( 330 'value', 331 'Post Your Answer' 332 ) 333 } 334 } else { 335 add_answer_btn.setAttribute( 336 'value', 337 'Login/Signup to Post' 338 ); 339 } 340 } 341 342 function hide_convert_links() { 343 var isAuthenticated = data['userIsAuthenticated']; 344 var isMod = data['userIsAdminOrMod']; 345 if (isAuthenticated && isMod) { 346 return; 347 }
348 var convertForms = findChildrenByClassName(document, 'convert-comment'); 349 for (var i = 0; i < convertForms.length; i++) { 350 //get comment id 351 var form = convertForms[i]; 352 var idInput = findChildByAttribute(form, 'name', 'comment_id'); 353 var commentId = idInput.getAttribute('value'); 354 if (! isAuthorOfPost(commentId) ) { 355 form.setAttribute('style', 'display:none;'); 356 } 357 } 358 } 359 360 askbot['functions'] = askbot['functions'] || {}; 361 askbot['functions']['renderPostVoteButtons'] = render_vote_buttons; 362 askbot['functions']['renderPostControls'] = render_post_controls; 363 askbot['functions']['renderAddAnswerButton'] = render_add_answer_button; 364 askbot['functions']['hideConvertLinks'] = hide_convert_links; 365 askbot['functions']['hideConvertAnswerLinks'] = hide_convert_answer_links; 366 askbot['functions']['hidePublishAnswerLink'] = hidePublishAnswerLink; 367 })(); 368 /*]]>*/ 369 </script>
369 <meta property="og:title" content="Unmet Hours" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://unmethours.com/" /> <meta property="og:description" content="A question-and-answer resource for the building energy modeling community." /> <meta property="og:image" content="http://proxy.unmethours.com/images/unmet-hours-logo.png" /> <meta property="og:image:secure_url" content="https://proxy.unmethours.com/images/unmet-hours-logo.png" /> <meta property="og:image:type" content="image/png" />
369<script>
vendor: 345 bytes, lines 369-375
369 370 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 371 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 372 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 373 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 374 375 ga('create', '
375UA-33302462-2
vendor: 42 bytes, lines 375-377
375', 'auto'); 376 ga('send', 'pageview'); 377
378</script>
378
378<script> 379var _prum = [['id', '5435156dabe53d4353f6f0cf'], 380 ['mark', 'firstbyte', (new Date()).getTime()]]; 381(function() { 382 var s = document.getElementsByTagName('script')[0] 383 , p = document.createElement('script'); 384 p.async = 'async'; 385 p.src = '//rum-static.pingdom.net/prum.min.js'; 386 s.parentNode.insertBefore(p, s); 387})(); 388</script>
388 </head> <body class="two-col user-messages question-page anon lang-en"> <div class="notify" style="display:none"> <div class="content-wrapper"> <p class="notification">First time here? Check out the <a href="http://proxy.unmethours.com/help.html">Help</a> page!</p> <a id="closeNotify" onclick="notify.close(true)"></a> </div> </div> <div id="custom-header"> <div class="content-wrapper"> <div style="padding:10px 0px 10px 0px;"> <div style="float:left;"> <a href="https://unmethours.com/questions/"><img src="https://proxy.unmethours.com/images/unmet-hours-logo.png"></a> </div> <div style="float:right;"> <div style="float:right; clear:right; font-style:italic; font-size:medium;">Question-and-Answer Resource for the Building Energy Modeling Community</div> <div style="float:right; clear:right; padding-top:5px;"><a href="https://proxy.unmethours.com/help.html" class="help-link">Get started with the Help page</a></div> <div style="clear:both;"></div> </div> <div style="clear:both;"></div> </div> <div style="clear:both;"></div> </div> </div> <!-- template header.html --> <div 389 id="header" 390 class="without-logo" 391> <div class="content-wrapper"> <div id="userToolsNav"> <a href="/account/signin/?next=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuZXh0X3VybCI6Ii9xdWVzdGlvbi8xMDM0NDMvb3BlbnN0dWRpby0xMTItY3Jhc2hpbmctd2hlbi1pLWNsZWFyLWxpYnJhcnktc2VhcmNoLWZpZWxkLyJ9.RisAS0KQKoPaEG-VW5I8zdqvYLzCf7YOdSCxZfVHjR4" 392 >Hi there! Please sign in</a> <a class="help" href="/help/" title="help">help</a> </div> <div id="metaNav"> <a 393 id="navTags" 394 href="/tags/" 395 396>tags</a> <a 397 id="navUsers" 398 href="/users/" 399 400>users</a> <a 401 id="navBadges" 402 href="/badges/" 403 404>badges</a> </div> <div class="clean"></div> </div> </div> <!-- end template header.html --> <!-- template secondary_header.html --> <div id="secondaryHeader"> <div class="content-wrapper"> <form 405 406 action="/questions/" id="searchForm" 407 408 class="scopes-True-True-False" 409 method="get"> <table width="100%"> <tr> <td width="1"><a id="homeButton" href="/questions/"><i class="fa fa-home"></i></a></td> <td width="1"><div id="scopeNav"> <a class="scope-selector " 410 href="/questions/scope:all/sort:activity-desc/page:1/" 411 >ALL</a> <a class="scope-selector " 412 href="/questions/scope:unanswered/sort:answers-asc/page:1/" 413 >UNANSWERED</a> </div></td> <td width="*" class="search-bar"> <div 414 id="searchBar" 415 class="search-bar" 416><input 417 class="searchInput" 418 type="text" 419 autocomplete="off" 420 value="" 421 name="query" 422 placeholder="Search or ask your question" 423 id="keywords" 424 /><input type="submit" value="" name="search" class="searchBtn" /><input type="button" 425 value="X" 426 name="reset_query" 427 class="cancelSearchBtn" 428 429 style="display: none;" 430 431 /></div> </td> <td width="1"> <a 432 id="askButton" 433 class="button" 434 href="/questions/ask/" 435 > 436 Ask Your Question 437 </a> </td> </tr> </table> </form> </div> </div> <div class="content-wrapper"> <div id="ContentLeft"> <div class="banner"> </div> <div class="post js-question" data-post-id="103443"> <div class="vote-buttons"> <div id="question-img-upvote-103443" 438 class="question-img-upvote post-vote upvote"> </div> <div 439 id="question-vote-number-103443" 440 class="vote-number" 441 title="current number of votes" 442>1</div> <div 443 id="question-img-downvote-103443" 444 class="question-img-downvote post-vote downvote"> </div>
444<script type="text/javascript"> 445 askbot['functions']['renderPostVoteButtons']('question', '103443'); 446</script>
446 <a class="twitter-share icon" 447 title="Share this content on twitter" 448 ></a> <a class="facebook-share icon" 449 title="Share this content on facebook" 450 ></a> <a class="linkedin-share icon" 451 title="Share this content on linkedin" 452 ></a> </div> <div id="post-id-103443" class="post-content"> <h1 class="js-editable" 453 id="js-question-title-103443" 454 data-get-text-url="/s/get-question-title/?question_id=103443" 455 data-save-text-url="/s/set-question-title/?question_id=103443" 456 data-save-text-param-name="title" 457 data-validated-text-param-name="title" 458 data-min-lines="1" 459 data-editor-type="plain" 460 data-validator="askbot.validators.titleValidator" 461 > <div class="js-editable-content">Openstudio 1.12 crashing when I clear library search field</div> <div class="js-editable-controls"> <button id="js-edit-btn-question-title-103443" 462 class="btn-link js-edit" 463 >edit</button> </div> </h1> <ul id="question-tags" 464 class="tags post-tags tags" 465> <li> <div class="js-tag "><a 466 class="js-tag-name" 467 rel="tag" 468 469 href="/questions/scope:all/sort:activity-desc/tags:library/page:1/" 470 471 data-tag-name="library" 472 >library</a></div> </li> <li> <div class="js-tag "><a 473 class="js-tag-name" 474 rel="tag" 475 476 href="/questions/scope:all/sort:activity-desc/tags:crash/page:1/" 477 478 data-tag-name="crash" 479 >crash</a></div> </li> <li> <div class="js-tag "><a 480 class="js-tag-name" 481 rel="tag" 482 483 href="/questions/scope:all/sort:activity-desc/tags:openstudio-application/page:1/" 484 485 data-tag-name="openstudio-application" 486 >openstudio-application</a></div> </li> <li> <div class="js-tag "><a 487 class="js-tag-name" 488 rel="tag" 489 490 href="/questions/scope:all/sort:activity-desc/tags:bug-report/page:1/" 491 492 data-tag-name="bug-report" 493 >bug-report</a></div> </li> <li> <div class="js-tag "><a 494 class="js-tag-name" 495 rel="tag" 496 497 href="/questions/scope:all/sort:activity-desc/tags:openstudio/page:1/" 498 499 data-tag-name="openstudio" 500 >openstudio</a></div> </li> </ul> <div class="clearfix"></div> <div class="post-body"> <div class="js-editable-hide-post-body-103443"> <div class="post-update-info-container"> <div class='post-update-info'> <p style="line-height:12px;"> <a 501 502 href="/questions/103443/revisions/" 503 504 ><strong> 505 506 507 asked <abbr class="timeago" title="2026-09-28 09:21:11 -0500">2026-09-28 09:21:11 -0500</abbr> </strong></a> </p> <div class="user-card"> <a class="js-avatar-box" href="/users/93475/jim-armstrong/"><img class="js-avatar gravatar" 508 src="/m/default/media/images/nophoto.png?v=1" 509 title="Jim Armstrong" 510 alt="Jim Armstrong's avatar" 511 /></a> <div class="user-info"> <a href="/users/93475/jim-armstrong/">Jim Armstrong</a> <br/> <span class="reputation-score">11</span> <span class="badges" title="Jim Armstrong has one bronze badge"> <span class='badge3'>●</span><span class="badgecount">1</span> </span> </div> </div> </div> <div class='post-update-info'> <p style="line-height:12px;"> <a 512 513 href="/questions/103443/revisions/" 514 515 ><strong> 516 517 518 updated <abbr class="timeago" title="2026-09-28 09:48:59 -0500">2026-09-28 09:48:59 -0500</abbr> </strong></a> </p> <div class="user-card"> <a class="js-avatar-box" href="/users/4/aaron-boranian/"><img class="js-avatar gravatar" 519 src="//www.gravatar.com/avatar/d9920c2feddcef0ab3e759654b5b6610?s=32&amp;d=retro&amp;r=PG" 520 title="Aaron Boranian" 521 alt="Aaron Boranian's avatar" 522 /></a> <div class="user-info"> <a href="/users/4/aaron-boranian/">Aaron Boranian</a> <img class="flag" 523 524 src="/m/default/media/images/flags/us.gif?v=1" 525 alt="flag of United States of America" 526 title="Aaron Boranian is from United States of America" 527 /> <br/> <span class="reputation-score">14480</span> <span class="badges" title="Aaron Boranian has 93 silver badges and 25 bronze badges"> <span class='badge2'>●</span><span class="badgecount">93</span> <span class='badge3'>●</span><span class="badgecount">25</span> </span> <a 528 href="http://bigladdersoftware.com/" 529 title="Aaron Boranian's website is http://bigladdersoftware.com/" 530 531 > 532 http://bigladdersoftware.com/ 533 </a> </div> </div> </div> </div> </div> <div class="js-editable" 534 id="js-post-body-103443" 535 data-get-text-url="/s/get-post-body/?post_id=103443" 536 data-save-text-url="/s/set-post-body/?post_id=103443" 537 data-save-text-param-name="body_text" 538 data-validated-text-param-name="body_html" 539 data-min-lines="10" 540 data-editor-type="markdown" 541 data-validator="askbot.validators.questionDetail
541sValidator" 542 > <div class="js-editable-content"><p>Using Openstudio 1.12 the program crashes whenever I try to clear the search dialog in the Library tabs. Anyone having this issue? </p> </div> <div class="js-editable-controls"></div> </div> </div> <div id="question-controls" class="post-controls"> <a id="js-edit-btn-post-body-103443" class="question-edit js-edit" href="/questions/103443/edit/">edit</a> <a id="retag" class="question-retag" href="/s/questions/103443/retag/">retag</a> <span 543 id="question-offensive-flag-103443" class="offensive-flag" 544 title="report as offensive (i.e containing spam, advertising, malicious text, etc.)" 545 > <a class="question-flag">flag offensive</a> </span> <a class="question-close" href="/questions/103443/close/">close</a> <a class="question-merge">merge</a> <a 546 id="post-103443-delete" 547 class="question-delete" 548>delete</a>
548<script type="text/javascript"> 549 askbot['functions']['renderPostControls']('103443'); 550</script>
550 </div> <h2 class="comment-title">Comments</h2><div class="clean"></div><div class="comments ordering-forward" 551 data-parent-post-type="question" 552 data-parent-post-id="103443" 553 ><div class="content"><div id="post-id-103447" class="comment js-comment" data-post-id="103447"><div class="comment-votes"><div 554 id="comment-img-upvote-103447" 555 class="upvote js-score" 556 ></div>
556<script type="text/javascript"> 557 askbot['functions']['renderPostVoteButtons']('comment', '103447'); 558 </script>
558</div><div class="comment-content"><div id="post-103447-delete" class="comment-delete"><span class="js-delete-icon" title="delete this comment"></span></div><div class="comment-body"><p>Sounds worth reporting the bug at <a href="https://github.com/openstudiocoalition/OpenStudioApplication/issues">https://github.com/openstudiocoalitio...</a>. I took a quick look and did not see an existing report/fix for it.</p></div><div class="comment-controls"><a class="js-avatar-box" href="/users/928/shorowit/"><img class="js-avatar gravatar" 559 src="/upfiles/avatars/shorowit/resized/16/profile_small.jpg" 560 title="shorowit" 561 alt="shorowit's avatar" 562 /></a><a class="author" href="/users/928/shorowit/"> 563 shorowit 564 </a><span class="age"> ( 565 566 <abbr class="timeago" title="2026-09-29 13:55:17 -0500">2026-09-29 13:55:17 -0500</abbr> 567 )</span><a 568 id="post-103447-edit" 569 class="js-edit" 570 >edit</a><form 571 action="/s/comment/convert/" 572 method="POST" 573 accept-charset="utf-8" 574 class='convert-comment' 575 ><input type="hidden" name="csrfmiddlewaretoken" value="7ZyOAwF8sbtLiQcdZK23qFqlHCmeOu1o"><input type="hidden" value="103447" name="comment_id"><input type="submit" value="convert to answer"></form></div></div></div>
575<script type="text/javascript"> 576 askbot['functions']['hideConvertLinks'](); 577 askbot['functions']['renderPostControls']('103447'); 578 </script>
578</div><div class="controls"><a class="js-open-editor-btn">add a comment</a></div></div> </div> </div> <div style="clear:both"></div> <h2> 579 580 Be the first one to answer this question! 581 582</h2> <p class="message"> <span class="strong big">Please start posting anonymously</span> - your entry will be published after you log in or create a new account. 583 584 585</p> <div class="folded-editor" tabindex="6"> <p class="js-folded-editor-trigger"><a>Add Answer</a></p> <div class="editor-proper"> <form id="fmanswer" 586 class="js-answer-form" 587 action="/s/questions/103443/answer/" 588 method="post" 589 data-validated-fields="text" 590 data-text-validator="askbot.validators.answerValidator" 591 ><input type='hidden' name='csrfmiddlewaretoken' value='7ZyOAwF8sbtLiQcdZK23qFqlHCmeOu1o' /> <div class="js-error js-text-error"></div> <div class="form-group editor-placeholder" 592 > </div> <div class="answer-options"> </div> <div>
vendor: 71 bytes, line 592
592 <script src='https://www.google.com/recaptcha/api.js?hl=en'></script>
592<script type="text/javascript"> 593 var DjangoRecaptchaOptions = { 594 "lang": "en" 595}; 596 if (typeof RecaptchaOptions !== 'object') { 597 RecaptchaOptions = DjangoRecaptchaOptions; 598 } else { 599 for (key in DjangoRecaptchaOptions) { 600 RecaptchaOptions[key] = DjangoRecaptchaOptions[key]; 601 } 602 } 603</script>
603 <div class="g-recaptcha" data-sitekey="6LfaCwcTAAAAADZE7A-KiipZSI2EQa01M-Og6qxM"></div> <noscript> <div style="width: 302px; height: 352px;"> <div style="width: 302px; height: 352px; position: relative;"> <div style="width: 302px; height: 352px; position: absolute;"> <iframe src="https://www.google.com/recaptcha/api/fallback?k=6LfaCwcTAAAAADZE7A-KiipZSI2EQa01M-Og6qxM" 604 frameborder="0" scrolling="no" 605 style="width: 302px; height:352px; border-style: none;"> </iframe> </div> <div style="width: 250px; height: 80px; position: absolute; border-style: none; 606 bottom: 21px; left: 25px; margin: 0px; padding: 0px; right: 25px;"> <textarea id="g-recaptcha-response" name="g-recaptcha-response" 607 class="recaptcha_challenge_field" 608 style="width: 250px; height: 80px; border: 1px solid #c1c1c1; 609 margin: 0px; padding: 0px; resize: none;" value=""> </textarea> <input type='hidden' name='recaptcha_response_field' value='manual_challenge' /> </div> </div> </div> </noscript> </div> <div class="clearfix"></div> <input id="add-answer-btn" type="submit" class="submit"/>
609<script type="text/javascript"> 610 askbot['functions']['renderAddAnswerButton'](); 611 </script>
611 </form> </div> </div> </div> <div id="ContentRight"> <div class="box"> <div class="box"> <!-- 612<h2>Sponsor</h2> <a href="http://simbuild.ibpsa.us/" target="_blank"><img src="https://proxy.unmethours.com/images/sponsors/ibpsa-usa/ibpsa-usa_20260401-20260522.png" style=" 613 width: 100%; 614 margin-bottom: 2rem; 615"></a> 616-->
616<script src="https://bigladdersoftware.com/js/web-components/advertise-with-big-ladder-widget/advertise-with-big-ladder-widget.v1.js"></script>
616 <advertise-with-big-ladder-widget> </advertise-with-big-ladder-widget> <div style="margin-bottom: 1.5rem"></div>
616<script src="https://bigladdersoftware.com/js/web-components/workshop-calendar-widget/workshop-calendar-widget.v3.js"></script>
616 <workshop-calendar-widget></workshop-calendar-widget> <!-- 617 <a href="https://training.bigladdersoftware.com/" target="_blank"><img src="https://proxy.unmethours.com/images/training-ad-short.png?v=20260425"> </a> 618--> <!-- 619 <h2>Careers</h2> <a href="https://www.indeed.com/cmp/Big-Ladder-Software-LLC/jobs" target="_blank"><img src="https://proxy.unmethours.com/images/hiring-banner-mid.svg?v=20231003"> </a> 620--> </div> </div> <div class="box vote-buttons"> <h2>Question Tools</h2> <button class="js-follow-question button large" 621 data-is-on="false" 622 data-off-prompt-text="Unfollow" 623 data-on-prompt-text="Follow" 624 data-on-state-text="Following" 625 data-off-state-text="Follow" 626 data-toggle-url="/s/toggle-follow-question/" 627 > 628 629 Follow 630 631 </button> <div class="clearfix"></div> <div class="js-question-follower-count"> 632 633 634 1 follower 635 636 </div> <div class="notify-sidebar"> <p class="rss"> <a 637 href="/feeds/question/103443/" 638 title="subscribe to the rss feed" 639 >subscribe to rss feed</a> </p> </div> </div> <div class="clearfix"></div> <div class="box statsWidget"> <div class="clearfix"></div> <h2>Stats</h2> <p> 640 Asked: <strong> <abbr class="timeago" title="2026-09-28 09:21:11 -0500">2026-09-28 09:21:11 -0500</abbr> </strong> </p> <p> 641 Seen: <strong>47 times</strong> </p> <p> 642 Last updated: <strong title="2026-09-28 09:21:11.098887">Sep 28</strong> </p> </div> <div class="box"> </div> </div> </div> <div id="ground"> <div class="content-wrapper"> <div style="float:left;"> <div class="footer-links"> <a href="https://proxy.unmethours.com/about.html">About</a><span class="link-separator"> |</span> <a href="https://proxy.unmethours.com/help.html">Help</a><span class="link-separator"> |</span> <!-- <a href="https://proxy.unmethours.com/faq.html">FAQ</a><span class="link-separator"> |</span> --> <a href="https://proxy.unmethours.com/privacy.html">Privacy</a><span class="link-separator"> |</span> <a href="https://proxy.unmethours.com/legal.html">Legal</a><span class="link-separator"> |</span> <a href="https://proxy.unmethours.com/contact.html">Contact</a> </div> <div class="copyright" style="padding-top:32px;"> 643 Site design and logo: Copyright © 2015 Big Ladder Software LLC. All rights reserved.<br> 644 The <em>Unmet Hours</em> and <em>Big Ladder</em> names and logos are trademarks of Big Ladder Software LLC. 645 <br> 646 User contributions licensed under the <a href="http://creativecommons.org/licenses/by-sa/3.0/legalcode" target="_blank">Creative Commons Attribution Share Alike 3.0 License</a>. 647 <a href="http://creativecommons.org/licenses/by-sa/3.0/legalcode" target="_blank"><img class="license-logo" src="https://proxy.unmethours.com/images/cc-by-sa.png" title="cc-by-sa" alt="cc-by-sa"/></a> </div> </div> <div style="float:right;"> <div class="powered-link" style="float:right; width:auto;"> 648 Powered by <a href="http://bigladdersoftware.com" target="_blank" style="padding:0px 0px 0px 5px;"> <img src="https://proxy.unmethours.com/images/big-ladder-logo-sm.png"/></a> </div> </div> <div style="clear:both;"></div> </div> </div> <div id="no-javascript"> <noscript class="noscript"> 649 Please note: Unmet Hours requires javascript to work properly, please enable javascript in your browser, <a href="https://www.google.com/support/bin/answer.py?answer=23852">here is how</a> </noscript>
649<script type="text/javascript"> 650 //IE fix to hide the red margin 651 var noscript = document.getElementsByTagName('noscript')[0]; 652 noscript.style.padding = '0px'; 653 noscript.style.backgroundColor = 'transparent'; 654 </script>
654 </div>
654<script type="text/javascript"> 655 askbot['urls']['mark_read_message'] = '/s/messages/markread/'; 656 askbot['urls']['get_tags_by_wildcard'] = '/s/get-tags-by-wildcard/'; 657 askbot['urls']['get_tag_list'] = '/s/get-tag-list/'; 658 askbot['urls']['follow_user'] = '/followit/follow/user/{{userId}}/'; 659 askbot['urls']['unfollow_user'] = '/followit/unfollow/user/{{userId}}/'; 660 askbot['urls']['user_signin'] = '/account/signin/'; 661 askbot['urls']['getEditor'] = '/s/get-editor/'; 662 663 askbot['urls']['apiGetQuestions'] = '/s/api/get_questions/'; 664 askbot['urls']['ask'] = '/questions/ask/'; 665 askbot['urls']['questions'] = '/questions/'; 666 askbot['settings']['groupsEnabled'] = false; 667 askbot['settings']['static_url'] = '/m/'; 668 askbot['settings']['minSearchWordLength'] = 4; 669 askbot['settings']['mathjaxEnabled'] = true; 670 askbot['settings']['sharingSuffixText'] = ''; 671 askbot['settings']['errorPlacement'] = 'after-label'; 672 askbot['data']['maxCommentLength'] = 600; 673 askbot['settings']['editorType'] = 'markdown'; 674 675 askbot['settings']['commentsEditorType'] = 'rich\u002Dtext'; 676 askbot['messages']['askYourQuestion'] = 'Ask Your Question'; 677 askbot['messages']['acceptOwnAnswer'] = 'accept or unaccept your own answer'; 678 askbot['messages']['followQuestions'] = 'follow questions'; 679 680 askbot['settings']['allowedUploadFileTypes'] = [ 681 "jpg", "jpeg", "gif", "bmp", "png", "tiff" 682 ]; 683 684 askbot['data']['haveFlashNotifications'] = true; 685 askbot['data']['activeTab'] = 'questions'; 686 askbot['settings']['csrfCookieName'] = 'csrftoken'; 687 688 askbot['data']['searchUrl'] = ''; 689 690</script>
690 <form name="scroll-pos-form"><input id="scroll-mem" type="text" style="display: none;"/></form>
690<script type="text/javascript" src="/m/CACHE/js/b20b64a7e951.js"></script>
690
690<script type="text/javascript"> 691 /*<![CDATA[*/ 692 $('.mceStatusbar').remove();//a hack to remove the tinyMCE status bar 693 $(document).ready(function(){ 694 // focus input on the search bar endcomment 695 var activeTab = askbot['data']['activeTab']; 696 if (inArray(activeTab, ['users', 'questions', 'tags', 'badges'])) { 697 var searchInput = $('#keywords'); 698 } else if (activeTab === 'ask') { 699 var searchInput = $('#id_title'); 700 } else { 701 var searchInput = undefined; 702 animateHashes(); 703 } 704 705 var wasScrolled = $('#scroll-mem').val(); 706 if (searchInput && !wasScrolled) { 707 searchInput.focus(); 708 putCursorAtEnd(searchInput); 709 } 710 711 var haveFullTextSearchTab = inArray(activeTab, ['questions', 'badges', 'ask']); 712 var haveUserProfilePage = $('body').hasClass('user-profile-page'); 713 if ((haveUserProfilePage || haveFullTextSearchTab) && searchInput && searchInput.length) { 714 var search = new FullTextSearch(); 715 askbot['controllers'] = askbot['controllers'] || {}; 716 askbot['controllers']['fullTextSearch'] = search; 717 search.setSearchUrl(askbot['data']['searchUrl']); 718 if (activeTab === 'ask') { 719 search.setAskButtonEnabled(false); 720 } 721 search.decorate(searchInput); 722 } else if (activeTab === 'tags') { 723 var search = new TagSearch(); 724 search.decorate(searchInput); 725 } 726 727 if (askbot['data']['userIsAdminOrMod']) { 728 $('body').addClass('admin'); 729 } 730 if (askbot['settings']['groupsEnabled']) { 731 askbot['urls']['add_group'] = "/s/add-group/"; 732 var group_dropdown = new GroupDropdown(); 733 $('.groups-dropdown').append(group_dropdown.getElement()); 734 } 735 var userRep = $('#userToolsNav .reputation'); 736 if (userRep.length) { 737 var showPermsTrigger = new ShowPermsTrigger(); 738 showPermsTrigger.decorate(userRep); 739 } 740 }); 741 if (askbot['data']['haveFlashNotifications']) { 742 $('#validate_email_alert').click(function(){notify.close(true)}) 743 notify.show(); 744 } 745 746 var langNav = $('.lang-nav'); 747 if (langNav.length) { 748 var nav = new LangNav(); 749 nav.decorate(langNav); 750 } 751 /*]]>*/ 752</script>
752
752<script type='text/javascript' src="https://unmethours.com/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> 753 if (typeof MathJax != 'undefined') { 754 MathJax.Hub.Config({ 755 extensions: ["tex2jax.js"], 756 jax: ["input/TeX","output/HTML-CSS"], 757 tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]} 758 }); 759 } else { 760 console.log('Could not load MathJax'); 761 } 762 </script>
762 <div class="js-templates" style="display: none;"><div id="post-id-0" class="comment js-comment" data-post-id="0"><div class="comment-votes"><div 763 id="comment-img-upvote-0" 764 class="upvote js-score" 765 ></div></div><div class="comment-content"><div id="post-0-delete" class="comment-delete"><span class="js-delete-icon" title="delete this comment"></span></div><div class="comment-body"></div><div class="comment-controls"><a class="js-avatar-box" href=""><img class="js-avatar gravatar" 766 src="" 767 title="" 768 alt="'s avatar" 769 /></a><a class="author" href=""></a><span class="age"> ( 770 771 <abbr class="timeago" title="2026-10-03 17:39:40 -0500">2026-10-03 17:39:40 -0500</abbr> 772 )</span><a 773 id="post-0-edit" 774 class="js-edit" 775 >edit</a><form 776 action="/s/comment/convert/" 777 method="POST" 778 accept-charset="utf-8" 779 class='convert-comment' 780 ><input type="hidden" name="csrfmiddlewaretoken" value="None"><input type="hidden" value="0" name="comment_id"><input type="submit" value="convert to answer"></form></div></div></div><div class="js-simple-editor"><textarea></textarea><pre class="mirror"></pre></div><div class="js-tag js-deletable-tag"><a 781 class="js-tag-name" 782 rel="tag" 783 784 href="/questions/scope:all/sort:activity-desc/tags:none/page:1/" 785 786 data-tag-name="none" 787 >none</a><span class="js-delete-icon">×</span></div></div>
787<script type='text/javascript'> 788 789 askbot['urls']['postComments'] = '/s/post_comments/'; 790 askbot['urls']['editComment'] = '/s/edit_comment/'; 791 askbot['urls']['deleteComment'] = '/s/comment/delete/'; 792 askbot['urls']['convertComment'] = '/s/comment/convert/'; 793 askbot['urls']['getComment'] = '/s/comment/get-text/'; 794 askbot['urls']['saveDraftAnswer'] = '/s/save-draft-answer/'; 795 askbot['urls']['vote_url'] = '/s/vote' 796 askbot['urls']['user_signin'] = '/account/signin/'; 797 askbot['urls']['upvote_comment'] = '/s/comment/upvote/'; 798 askbot['urls']['delete_post'] = '/s/post/delete/'; 799 askbot['urls']['get_html_template'] = '/s/get-html-template/'; 800 askbot['urls']['getGroupsList'] = '/s/get-groups-list/'; 801 askbot['urls']['publishAnswer'] = '/s/answer/publish/'; 802 askbot['urls']['apiV1Questions'] = '/api/v1/questions/'; 803 askbot['urls']['mergeQuestions'] = '/s/merge-questions/'; 804 805 askbot['data']['questionAuthorId'] = 93475; 806 askbot['data']['answersSortTab'] = 'votes'; 807 askbot['data']['questionId'] = 103443; 808 askbot['data']['threadSlug'] = 'openstudio-112-crashing-when-i-clear-library-search-field'; 809 askbot['messages']['addComment'] = 'add a comment'; 810 askbot['messages']['userNamePrompt'] = 'User name:'; 811 askbot['messages']['userEmailPrompt'] = 'Email address:'; 812 askbot['messages']['mergeQuestions'] = 'Merge duplicate questions'; 813 askbot['messages']['enterDuplicateQuestionId'] = 'Enter duplicate question ID'; 814 815 askbot['settings']['saveCommentOnEnter'] = false; 816 askbot['settings']['tagSource'] = 'user-input'; 817 askbot['settings']['enableEmailAlerts'] = true; 818 </script>
818
818<script type="text/javascript"> 819 820 askbot['settings']['tagsAreRequired'] = true 821 askbot['settings']['maxTagLength'] = 50; 822 askbot['messages']['maxTagLength'] = "each tag must be shorter than 50 characters"; 823 askbot['settings']['maxTagsPerPost'] = 5; 824 askbot['messages']['maxTagsPerPost'] = "please use 5 tags or less"; 825 askbot['messages']['tagLimits'] = "please use up to 5 tags, less than 50 characters each"; 826 askbot['urls']['upload'] = '/s/upload/'; 827 askbot['settings']['minTitleLength'] = 15; 828 askbot['settings']['minQuestionBodyLength'] = 30; 829 askbot['settings']['minAnswerBodyLength'] = 30; 830 askbot['settings']['minCommentBodyLength'] = 15; 831 askbot['settings']['tag_editor'] = '{\u0022tag_forbidden_first_chars\u0022: \u0022#\u0022, \u0022max_tag_length\u0022: 50, \u0022force_lowercase_tags\u0022: true, \u0022max_tags_per_post\u0022: 5, \u0022messages\u0022: {\u0022wrong_first_char\u0022: \u0022# is not a valid character at the beginning of tags, use only letters and numbers\u0022, \u0022wrong_chars\u0022: \u0022please use letters, numbers and characters \u005C\u0022\u002D+.#\u005C\u0022\u0022, \u0022required\u0022: \u0022tags are required\u0022}, \u0022tags_are_required\u0022: true}'; 832 askbot['settings']['tinyMCEPlugins'] = JSON.parse('[]'); 833</script>
833
833<script type='text/javascript'> 834 (function() { 835 askbot['settings']['commentsReversed'] = false; 836 //make images always fit the screen 837 var images = $('.question-page .post-body img'); 838 //these breakpoints must match those in css 839 //for explanation see utils.js:LimitedWidthImage 840 var breakpoints = [ 841 [980, undefined], 842 [800, 55] 843 ]; 844 var maxWidth = 685; 845 images.each(function(idx, item) { 846 var img = new LimitedWidthImage(breakpoints, maxWidth); 847 img.decorate($(item)); 848 }); 849 })(); 850</script>
850
850<script type="text/javascript" src="/m/CACHE/js/2ec153a4cd31.js"></script>
850
850<script type="text/javascript"> 851 // define reputation needs for comments 852 askbot['urls']['getPostHtml'] = '/s/get-post-html/'; 853 askbot['urls']['retag'] = "/s/questions/103443/retag/"; 854 855 856 857 askbot['settings']['commentAvatarSize'] = 16; 858 859 $(document).ready(function(){ 860 $("#nav_questions").attr('className',"on"); 861 $("#" + askbot['data']['answersSortTab']).attr('className',"on"); 862 863 Vote.init( 864 askbot['data']['questionId'], 865 askbot['data']['threadSlug'], 866 askbot['data']['questionAuthorId'], 867 askbot['data']['userId'] 868 ); 869 870 if ((askbot['data']['threadIsClosed'] === false) && askbot['data']['userIsAuthenticated']) { 871 initEditor(); 872 } 873 874 lanai.highlightSyntax(); 875 $('#btLogin').bind('click', function(){ 876 window.location.href='/account/signin/'; 877 }); 878 if (window.location.hash === 'fmanswer'){ 879 $('#fmanswer textarea').focus(); 880 } 881 882 if (askbot['data']['userId'] === askbot['data']['questionAuthorId']) { 883 $("#fmanswer_button").click(function() { 884 $("#fmanswer").show(); 885 $("#fmanswer_button").hide(); 886 }); 887 } 888 889 if (askbot['data']['userIsAuthenticated']) { 890 var draftHandler = new DraftAnswer(); 891 draftHandler.setThreadId(56739); 892 draftHandler.decorate($('body')); 893 } 894 895 var expanders = $('.expander'); 896 expanders.each(function(idx, item) { 897 var expanderElement = $(item); 898 var post = expanderElement.closest('.post,.comment'); 899 if (post.length === 1) { 900 var expander = new PostExpander(); 901 expander.setPostId(post.data('postId')); 902 expander.decorate(expanderElement); 903 } 904 }); 905 906 var followBtn = $('.js-follow-question'); 907 if (followBtn.length) { 908 var toggle = new AjaxToggle(); 909 toggle.setPostData({'question_id': 103443 }); 910 toggle.decorate(followBtn); 911 followBtn.bind('askbot.two-state-toggle.success', updateQuestionFollowerCount); 912 } 913 }); 914 915 $(window).bind('hashchange', animate_hashes); 916 917 function animate_hashes(){ 918 var id_value = window.location.hash; 919 if (id_value != ""){ 920 var previous_color = $(id_value).css('background-color'); 921 $(id_value).css('backgroundColor', '#FFF8C6'); 922 $(id_value).animate( 923 {backgroundColor: '#ff7f2a'}, 1000 924 ).animate({backgroundColor: '#FFF8C6'}, 1000, function(){ 925 $(id_value).css('backgroundColor', previous_color); 926 }); 927 } 928 } 929 930 931 function initEditor(){ 932 $('#editor').TextAreaResizer(); 933 //highlight code synctax when editor has new text 934 $("#editor").typeWatch({highlight: false, wait: 3000, 935 captureLength: 5, callback: lanai.highlightSyntax}); 936 937 var display = true; 938 var txt = "[hide preview]"; 939 $('#pre-collapse').text(txt); 940 $('#pre-collapse').bind('click', function(){ 941 txt = display ? "[show preview]" : "[hide preview]"; 942 display = !display; 943 $('#previewer').toggle(); 944 $('#pre-collapse').text(txt); 945 }); 946 var formElement = $('.js-answer-form'); 947 if (formElement.length) { 948 var answerForm = new AnswerForm(); 949 answerForm.decorate(formElement); 950 } 951 } 952</script>
952
952<script type="text/javascript"> 953 for (url_name in askbot['urls']){ 954 askbot['urls'][url_name] = cleanUrl(askbot['urls'][url_name]); 955 } 956 </script>
956 </body> </html>
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.