PageSourceSearch

https://unmethours.com/question/103443/openstudio-112-crashing-when-i-clear-library-search-field/

html unmethours.com collected 2026-10-03 22:39:40 UTC 51,107 bytes, 956 lines download raw bytes

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&amp;subset=latin-ext" rel="stylesheet" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&amp;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'>&#9679;</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;amp;d=retro&amp;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'>&#9679;</span><span class="badgecount">93</span> <span class='badge3'>&#9679;</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">&nbsp;(
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 &copy; 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">&nbsp;(
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">&times;</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.