IE11 crashs on html5-audio in Citrix XenApp7.6 on Ipad Air with iOS 8.1.3 - html5-audio

I'm investigating a curious problem with crashing IE11.
Our Environment is a website running in IE11 deployed via Citrix Xenapp to iPads with Citrix Receiver.
IE11 11.0.9600.17631
XenApp 7.6
Windows 2012 R2
Citrix Receiver 5.9.4
iOS 8.1.3
In approx. 10% the cases of opening the website the crash of IE occurs.
The use case is, that we want to play a sound when buttons are pushed.
Investigation
We nailed it down to the html5 audio tag which causes the trouble.
So we built two minimal examples for reproducing this failure behaviour.
On with plain html5 audio tags and the other with scripted audio elements:
<!-- audio1.html -->
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
</head>
<body>
<audio id="player" controls preload="auto">
<source src="img/sound/beep.mp3" type="audio/mpeg" />
<source src="img/sound/beep.ogg" type="audio/ogg" />
<source src="img/sound/beep.wav" type="audio/wav" />
</audio>
<audio id="player2" controls preload="auto">
<source src="img/sound/beep2.mp3" type="audio/mpeg" />
</audio>
<audio id="player3" controls preload="auto">
<source src="img/sound/beep3.mp3" type="audio/mpeg" />
</audio>
<audio id="player4" controls preload="auto">
<source src="img/sound/beep4.mp3" type="audio/mpeg" />
</audio>
</body>
</html>
<!-- audio2.html -->
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
jQuery(document).ready(function() {
function createAudio(url) {
var audio = document.createElement("audio");
audio.setAttribute('preload', 'auto');
audio.setAttribute('controls', 'controls');
audio.setAttribute('type', 'audio/mpeg');
if (audio != null && audio.canPlayType && audio.canPlayType("audio/mpeg")) {
audio.src = url;
}
document.body.appendChild(audio);
return audio;
}
var audio1 = createAudio("img/sound/beep.mp3");
var audio2 = createAudio("img/sound/beep2.mp3");
var audio3 = createAudio("img/sound/beep3.mp3");
var audio4 = createAudio("img/sound/beep4.mp3");
});
</script>
</body>
</html>
Result
With this examples we could reproduce the failure more often
In 20% the website is working normal.
In 10% the audio-players show Ungültige Quelle or Invalid Source.
In 70% the IE crashs.
Crash Dumps
Windows Event Log
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2015-03-05T15:39:00.000000000Z" />
<EventRecordID>9994</EventRecordID>
<Channel>Application</Channel>
<Computer>T02.ADL.local</Computer>
<Security />
</System>
<EventData>
<Data>IEXPLORE.EXE</Data>
<Data>11.0.9600.17416</Data>
<Data>5452eed9</Data>
<Data>ntdll.dll</Data>
<Data>6.3.9600.17630</Data>
<Data>54b0d74f</Data>
<Data>c0000005</Data>
<Data>000411d2</Data>
<Data>19d4</Data>
<Data>01d0575a7d7ee406</Data>
<Data>C:\Program Files (x86)\Internet Explorer\IEXPLORE.EXE</Data>
<Data>C:\Windows\SYSTEM32\ntdll.dll</Data>
<Data>bdb9a4d8-c34d-11e4-80e9-f246be8a9fe6</Data>
<Data />
<Data />
</EventData>
</Event>
With windbg.exe and !analye -v i got the following crash dump:
************* Symbol Path validation summary **************
Response Time (ms) Location
Deferred SRV*C:\crashdebug\Symbols*http://msdl.microsoft.com/download/symbols
Symbol search path is: SRV*C:\crashdebug\Symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 8 Version 9600 MP (4 procs) Free x86 compatible
Product: Server, suite: TerminalServer
Built by: 6.3.9600.17031 (winblue_gdr.140221-1952)
Machine Name:
Debug session time: Fri Feb 27 12:37:14.000 2015 (UTC + 1:00)
System Uptime: 0 days 11:35:11.637
Process Uptime: 0 days 0:01:08.000
................................................................
................................................................
......
Loading unloaded module list
..
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(d20.1b10): Access violation - code c0000005 (first/second chance not available)
eax=00000000 ebx=00000000 ecx=43f23b31 edx=7e78d000 esi=00000003 edi=00000003
eip=7756cc2c esp=0d78e78c ebp=0d78e914 iopl=0 nv up ei pl nz na po nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202
ntdll!NtWaitForMultipleObjects+0xc:
7756cc2c c21400 ret 14h
0:024> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ScriptSn.20140828074232.dll -
GetUrlPageData2 (WinHttp) failed: 12007.
FAULTING_IP:
ntdll!RtlEnterCriticalSection+12
775711d2 f00fba3000 lock btr dword ptr [eax],0
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 775711d2 (ntdll!RtlEnterCriticalSection+0x00000012)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000001
Parameter[1]: 43f23b35
Attempt to write to address 43f23b35
CONTEXT: 00000000 -- (.cxr 0x0;r)
eax=00000000 ebx=00000000 ecx=43f23b31 edx=7e78d000 esi=00000003 edi=00000003
eip=7756cc2c esp=0d78e78c ebp=0d78e914 iopl=0 nv up ei pl nz na po nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202
ntdll!NtWaitForMultipleObjects+0xc:
7756cc2c c21400 ret 14h
DEFAULT_BUCKET_ID: INVALID_POINTER_WRITE
PROCESS_NAME: iexplore.exe
ERROR_CODE: (NTSTATUS) 0xc0000005 - Die Anweisung in 0x%08lx verweist auf Speicher 0x%08lx. Der Vorgang %s konnte nicht im Speicher durchgef hrt werden.
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - Die Anweisung in 0x%08lx verweist auf Speicher 0x%08lx. Der Vorgang %s konnte nicht im Speicher durchgef hrt werden.
EXCEPTION_PARAMETER1: 00000001
EXCEPTION_PARAMETER2: 43f23b35
WRITE_ADDRESS: 43f23b35
FOLLOWUP_IP: mfcore!CSampleQueue::Flush+1b
7481999c 68ffffff7f push 7FFFFFFFh
NTGLOBALFLAG: 400
APPLICATION_VERIFIER_FLAGS: 0
APP: iexplore.exe
ANALYSIS_VERSION: 6.3.9600.17298 (debuggers(dbg).141024-1500) amd64fre
FAULTING_THREAD: 00001b10
PRIMARY_PROBLEM_CLASS: INVALID_POINTER_WRITE
BUGCHECK_STR: APPLICATION_FAULT_INVALID_POINTER_WRITE
LAST_CONTROL_TRANSFER: from 7481999c to 775711d2
STACK_TEXT:
0d78f2e4 7481999c 43f23b31 0c2a80d0 43f23939 ntdll!RtlEnterCriticalSection+0x12
0d78f304 7481acd6 00000001 0c2a80d0 43f23939 mfcore!CSampleQueue::Flush+0x1b
0d78f328 747f6c7a 0c2a80d0 0c2a80d0 00000000 mfcore!CSampleQueue::~CSampleQueue+0x17
0d78f364 7483de0d 7483de00 0d78f38c 7481a61e mfcore!CAudStreamSink::~CAudStreamSink+0x120
0d78f370 7481a61e 00000001 0c2a806c 80004005 mfcore!CAudStreamSink::`vector deleting destructor'+0xd
0d78f38c 748cc0ef 0c2a80d0 0c2a7f08 0c2a7f50 mfcore!CAudStreamSink::Release+0x4e
0d78f3ac 747eec7d 00000000 0d78f448 0d78f3d0 mfcore!CAudioMediaSink::InternalCreateStreamSink+0xdd3a8
0d78f3d8 747eeba0 0d78f3f4 0d78f448 00000000 mfcore!CAudioMediaSink::CAudioMediaSink+0xb1
0d78f3f8 747eeafe 0c2b7380 00000000 0c2b73b8 mfcore!CAudioMediaSink::CreateInstance+0x30
0d78f4a8 747ee809 0c2b7380 0c2b73b8 0d78f520 mfcore!MFCreateAudioRenderer+0x2be
0d78f4c0 7483a03d 0c2b7380 7483a000 0c2dfa60 mfcore!CMFAudioRendererActivate::InstantiateMediaObject+0x29
0d78f4d8 74839fdf 747c4a80 0d78f520 0c2dfb98 mfcore!CMFActivate::DoActivate+0x3d
0d78f4f4 747f205a 0c2b7380 747c4a80 0d78f520 mfcore!CMFActivate::ActivateObject+0x2f
0d78f52c 747f1f91 05a0d670 0c2b7380 00000000 mfcore!CMediaSession::BindOutputNode+0x75
0d78f56c 74938512 0c2a6ab8 00000000 748c3320 mfcore!CMediaSession::BindOutputNodes+0x10e
0d78f5b4 747efaa1 05a0fd08 05a0fd08 747efa30 mfcore!CMediaSession::OpQueueTopology+0x32b
0d78f5d8 74819621 05a0fd08 0c2b74e8 74819580 mfcore!CMediaSession::DispatchOperation+0x71
0d78f5f8 74819591 74819580 0d78f63c 74c02459 mfcore!COpQueue::ProcessMarshalledOperations+0x85
0d78f604 74c02459 0c2dfa7c 0c2b74e8 0c211f40 mfcore!COpQueue::ProcessMarshalledOperationsAsyncCallback::Invoke+0x11
0d78f63c 74bf72e9 0c26c788 031cef88 74bf7240 RTWorkQ!CSerialWorkQueue::QueueItem::ExecuteWorkItem+0x1b2
0d78f674 77553cc7 0d78f6f8 0c211f40 031cef88 RTWorkQ!ThreadPoolWorkCallback+0xa9
0d78f6b4 775514b1 0d78f6f8 031cefe8 035d296c ntdll!TppWorkpExecuteCallback+0x137
0d78f84c 76de7c04 085b1e48 76de7be0 02dce3d3 ntdll!TppWorkerThread+0x48e
0d78f860 7758b5af 085b1e48 035d2988 00000000 kernel32!BaseThreadInitThunk+0x24
0d78f8a8 7758b57a ffffffff 77570411 00000000 ntdll!__RtlUserThreadStart+0x2f
0d78f8b8 00000000 77544b50 085b1e48 00000000 ntdll!_RtlUserThreadStart+0x1b
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: mfcore!CSampleQueue::Flush+1b
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: mfcore
IMAGE_NAME: mfcore.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 545036e9
STACK_COMMAND: ~24s; .ecxr ; kb
FAILURE_BUCKET_ID: INVALID_POINTER_WRITE_c0000005_mfcore.dll!CSampleQueue::Flush
BUCKET_ID: APPLICATION_FAULT_INVALID_POINTER_WRITE_mfcore!CSampleQueue::Flush+1b
ANALYSIS_SOURCE: UM
FAILURE_ID_HASH_STRING: um:invalid_pointer_write_c0000005_mfcore.dll!csamplequeue::flush
FAILURE_ID_HASH: {0351a28f-6605-92a0-dcfc-74117e20afcb}
Followup: MachineOwner
As I understand the crash dump IE crashs by registering an audio device. propably for citrix.?
Other attemps for solving this issue
The mp3-files are on the same server
The problem occurs wether the site is deployed via PHP and Apache or NodeJS
Latest Firefox and Chrome (40.0.2214.93) are showing the sites correctly.
Opening the site via Console as Admin IE11 doesn't crashs but shows Invalid Source in most times
Citrix HdxMediaStreamForFlash registry-keys were set.
Server does not compress the mp3s and sends them with MIME audio/mpeg.
Other already regarded Questions from SO with no suitable solution for our problem
How do I get a HTML5 Video to work using IE10
IE10 not playing a video when using the <video> tag, but plays it when requesting the video directly
HTML5 audio element do not work in IE10, but works in Chrome. Why?
"Error: Unsupported audio type or invalid file path" for HTML5 Audio tag in Internet Explorer 10
IE10 Windows7 -- Audio tag never plays audio?
Finally
My problem is now, that i have no idea, what to do to solve this problem.
Is it windows problem, a citrix problem, an iOS problem? Or is it a combination of all
of them.
Does anybody knows a workaround for it?
Or is there another point from which i can start another debugging attempt?
If you need more data, please let me know.
Update 2015-03-10
It is not a problem with iOS or Citrix Receiver, because the crash crash also appeard on a Samsung Galaxy Tab.
The crash occurs for the first time about three and a half hours after a server reboot

Is the XenApp server configured to enable Windows media redirection, ref: http://support.citrix.com/proddocs/topic/xenapp65-admin/ps-sf-media-speed-screen-acceleration-config-all-v2.html. If so, does disabling it fix the issue? The current documentation for Citrix Receiver for IOS has information about settings on this page for media redirection too, ref: http://support.citrix.com/proddocs/topic/receiver-ios-59/receivers-ios-about.html Recommends free space.

For completeness, this were my workarounds:
Reduced the use of audio to a minimum
Rebooting the windows servers every night (Enough for 20 sessions per server per day with 8 hours of active use each)
Our final fix was upgrading to Windows Server 2016 and Citrix Xenapp 7.15 and there, this problem does not occur.
The tickets we opened at microsoft and citrix were closed/rejected with "No problem with our software, it must be the other vendors."

Related

Is there limit to number of files that can be cached in html5 manifest?

I have lot of .PNG images numbering from 1 to 259 with a total size 250kb. I need these images to be available as thumbnails when the app is used in offline mode. So I created the manifest including all of these resources and then added the manifest to the homepage of the app using the html5 directive but the app failed to run offline.
Here is the manifest below;
CACHE MANIFEST
# version 10000
# This is a comment
CACHE:
offline.htm
tomcart.htm
bridgeOut.htm
explanation.htm
XT_files/image001.png
XT_files/image002.png
XT_files/image003.png
XT_files/image004.png
XT_files/image005.png
XT_files/image006.png
XT_files/image007.png
XT_files/image008.png
XT_files/image009.png
XT_files/image010.png
XT_files/image011.png
XT_files/image012.png
XT_files/image013.png
XT_files/image014.png
XT_files/image015.png
XT_files/image016.png
XT_files/image017.png
XT_files/image018.png
XT_files/image019.png
XT_files/image020.png
XT_files/image021.png
XT_files/image022.png
XT_files/image023.png
XT_files/image024.png
XT_files/image025.png
XT_files/image026.png
XT_files/image027.png
XT_files/image028.png
XT_files/image029.png
XT_files/image030.png
XT_files/image031.png
XT_files/image032.png
XT_files/image033.png
XT_files/image034.png
XT_files/image035.png
XT_files/image036.png
XT_files/image037.png
XT_files/image038.png
XT_files/image039.png
XT_files/image040.png
XT_files/image041.png
XT_files/image042.png
XT_files/image043.png
XT_files/image044.png
XT_files/image045.png
XT_files/image046.png
XT_files/image047.png
XT_files/image048.png
XT_files/image049.png
XT_files/image050.png
XT_files/image051.png
XT_files/image052.png
XT_files/image053.png
XT_files/image054.png
XT_files/image055.png
XT_files/image056.png
XT_files/image057.png
XT_files/image058.png
XT_files/image059.png
XT_files/image060.png
XT_files/image061.png
XT_files/image062.png
XT_files/image063.png
XT_files/image064.png
XT_files/image065.png
XT_files/image066.png
XT_files/image067.png
XT_files/image068.png
XT_files/image069.png
XT_files/image070.png
XT_files/image071.png
XT_files/image072.png
XT_files/image073.png
XT_files/image074.png
XT_files/image075.png
XT_files/image076.png
XT_files/image077.png
XT_files/image078.png
XT_files/image079.png
XT_files/image080.png
XT_files/image081.png
XT_files/image082.png
XT_files/image083.png
XT_files/image084.png
XT_files/image085.png
XT_files/image086.png
XT_files/image087.png
XT_files/image088.png
XT_files/image089.png
XT_files/image090.png
XT_files/image091.png
XT_files/image092.png
XT_files/image093.png
XT_files/image094.png
XT_files/image095.png
XT_files/image096.png
XT_files/image097.png
XT_files/image098.png
XT_files/image099.png
XT_files/image100.png
XT_files/image101.png
XT_files/image102.png
XT_files/image103.png
XT_files/image104.png
XT_files/image105.png
XT_files/image106.png
XT_files/image107.png
XT_files/image108.png
XT_files/image109.png
XT_files/image110.png
XT_files/image111.png
XT_files/image112.png
XT_files/image113.png
XT_files/image114.png
XT_files/image115.png
XT_files/image116.png
XT_files/image117.png
XT_files/image118.png
XT_files/image119.png
XT_files/image120.png
XT_files/image121.png
XT_files/image122.png
XT_files/image123.png
XT_files/image124.png
XT_files/image125.png
XT_files/image126.png
XT_files/image127.png
XT_files/image128.png
XT_files/image129.png
XT_files/image130.png
XT_files/image131.png
XT_files/image132.png
XT_files/image133.png
XT_files/image134.png
XT_files/image135.png
XT_files/image136.png
XT_files/image137.png
XT_files/image138.png
XT_files/image139.png
XT_files/image140.png
XT_files/image141.png
XT_files/image142.png
XT_files/image143.png
XT_files/image144.png
XT_files/image145.png
XT_files/image146.png
XT_files/image147.png
XT_files/image148.png
XT_files/image149.png
XT_files/image150.png
XT_files/image151.png
XT_files/image152.png
XT_files/image153.png
XT_files/image154.png
XT_files/image155.png
XT_files/image156.png
XT_files/image157.png
XT_files/image158.png
XT_files/image159.png
XT_files/image160.png
XT_files/image161.png
XT_files/image162.png
XT_files/image163.png
XT_files/image164.png
XT_files/image165.png
XT_files/image166.png
XT_files/image167.png
XT_files/image168.png
XT_files/image169.png
XT_files/image170.png
XT_files/image171.png
XT_files/image172.png
XT_files/image173.png
XT_files/image174.png
XT_files/image175.png
XT_files/image176.png
XT_files/image177.png
XT_files/image178.png
XT_files/image179.png
XT_files/image180.png
XT_files/image181.png
XT_files/image182.png
XT_files/image183.png
XT_files/image184.png
XT_files/image185.png
XT_files/image186.png
XT_files/image187.png
XT_files/image188.png
XT_files/image189.png
XT_files/image190.png
XT_files/image191.png
XT_files/image192.png
XT_files/image193.png
XT_files/image194.png
XT_files/image195.png
XT_files/image196.png
XT_files/image197.png
XT_files/image198.png
XT_files/image199.png
XT_files/image200.png
XT_files/image201.png
XT_files/image202.png
XT_files/image203.png
XT_files/image204.png
XT_files/image205.png
XT_files/image206.png
XT_files/image207.png
XT_files/image208.png
XT_files/image209.png
XT_files/image210.png
XT_files/image211.png
XT_files/image212.png
XT_files/image213.png
XT_files/image214.png
XT_files/image215.png
XT_files/image216.png
XT_files/image217.png
XT_files/image218.png
XT_files/image219.png
XT_files/image220.png
XT_files/image221.png
XT_files/image222.png
XT_files/image223.png
XT_files/image224.png
XT_files/image225.png
XT_files/image226.png
XT_files/image227.png
XT_files/image228.png
XT_files/image229.png
XT_files/image230.png
XT_files/image231.png
XT_files/image232.png
XT_files/image233.png
XT_files/image234.png
XT_files/image235.png
XT_files/image236.png
XT_files/image237.png
XT_files/image238.png
XT_files/image239.png
XT_files/image240.png
XT_files/image241.png
XT_files/image242.png
XT_files/image243.png
XT_files/image244.png
XT_files/image245.png
XT_files/image246.png
XT_files/image247.png
XT_files/image248.png
XT_files/image249.png
XT_files/image250.png
XT_files/image251.png
XT_files/image252.png
XT_files/image253.png
XT_files/image254.png
XT_files/image255.png
XT_files/image256.png
XT_files/image257.png
XT_files/image258.png
XT_files/image259.png
Images/infomas.png
Images/futminna-logo.png
CSS/css/light-modal.min
CSS/css/animate.css
CSS/css/bootstrap.css
CSS/css/bootstrap.min.css
CSS/css/styles.css
Js/js/jquery.min.js
NETWORK:
server/server.php
#Note:
#The total file size to be cached for this app is 850kb.
I have used manifest before but with limited number of files which works fine... I don't know why this is failing to work. Is there a way out of this? Any workable solution will be well appreciated.
Thank you.
Application cache manifest is deprecated and doesn't work in Chrome 83+
https://caniuse.com/#feat=offline-apps
https://www.chromestatus.com/feature/6192449487634432
New Web applications should be built around Service Workers. Existing
applications that use AppCache should migrate to Service Workers.

Web scraping with R - Non HTML content - Application generated by Firebase

I´m trying to access the Corona Virus CSV file hosted on http://covid.saude.gov.br, but there is no HTML content to parse with rvest package. The page is generated by firebase application. Here is the source code of the page.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Coronavírus Brasil</title>
<base href="/"/>
<meta name="viewport"
content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta name="format-detection" content="telephone=no"/>
<meta name="msapplication-tap-highlight" content="no"/>
<link rel="stylesheet" href="https://unpkg.com/leaflet#1.5.1/dist/leaflet.css"
integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
crossorigin=""/>
<link rel="icon" type="image/png" href="assets/imgs/Favicon.png"/>
<!-- add to homescreen for ios -->
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-app.js"></script>
<!-- TODO: Add SDKs for Firebase products that you want to use
https://firebase.google.com/docs/web/setup#available-libraries -->
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-analytics.js"></script>
<script>
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "AIzaSyDoHC6J1pxoKZtLNqNX4UpVWEaGdjy5ATE",
authDomain: "covid-saude.firebaseapp.com",
databaseURL: "https://covid-saude.firebaseio.com",
projectId: "covid-saude",
storageBucket: "covid-saude.appspot.com",
messagingSenderId: "1097006543403",
appId: "1:1097006543403:web:a308f2e4e006a72592706e",
measurementId: "G-VE7NTSSB9X"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
firebase.analytics();
</script>
<link rel="stylesheet" href="styles.f19219a3da5ded85f5db.css"></head>
<body>
<app-root></app-root>
<script src="runtime-es2015.6a60e601fd1c50dddd74.js" type="module"></script><script src="runtime-es5.6a60e601fd1c50dddd74.js" nomodule defer></script><script src="polyfills-es5.3f81798dab399e8c607f.js" nomodule defer></script><script src="polyfills-es2015.c1f142d23713235da53a.js" type="module"></script><script src="scripts.3e3259fea52df4adcf5b.js" defer></script><script src="main-es2015.e24b034b00be1f140463.js" type="module"></script><script src="main-es5.e24b034b00be1f140463.js" nomodule defer></script></body>
<script type="text/javascript">
(function(){(function(){function a(){if(void 0===b.dialogArguments)return navigator.cookieEnabled;document.cookie="__dTCookie=1";var a=-1!==document.cookie.indexOf("__dTCookie");document.cookie="__dTCookie=1; expires=Thu, 01-Jan-1970 00:00:01 GMT";return a}if(window.dT_)window.console&&window.console.log("Duplicate agent injection detected, turning off redundant initConfig.");else{var b="undefined"!==typeof window?window:self;a()&&(window.dT_||(window.dT_={cfg:"app=dfe0c9b2171df634|cors=1|featureHash=A2SVfqru|reportUrl=https://bf51981tgr.bf.dynatrace.com/bf|rdnt=1|uxrgce=1|bp=2|cuc=46s458bt|srms=1,1,,,|uxrgcm=100,25,300,3;100,25,300,3|dpvc=1|lastModification=1585265376157|dtVersion=10187200323152418|tp=500,50,0,1|uxdcw=1500|featureHash=A2SVfqru|agentUri=https://js-cdn.dynatrace.com/jstag/17052aca8bb/ruxitagent_A2SVfqru_10187200323152418.js|auto=|domain=|rid=RID_|rpid=|app=dfe0c9b2171df634",
iCE:a}))}})();}).call(this);
(function(){(function(){function Ob(){return ta?new ta:ua?new ua("MSXML2.XMLHTTP.3.0"):d.XMLHttpRequest?new d.XMLHttpRequest:new d.ActiveXObject("MSXML2.XMLHTTP.3.0")}function Pb(){ua=ta=void 0}function u(){var a=0;try{a=d.performance.timing.navigationStart+Math.floor(d.performance.now())}catch(b){}return 0>=a||isNaN(a)||!isFinite(a)?(new Date).getTime():a}function R(a,b){function c(){delete la[g];a.apply(this,arguments)}for(var e=[],J=2;J<arguments.length;J++)e[J-2]=arguments[J];var g;"apply"in va?g=va.apply(d,
[c,b].concat(e)):g=va(c,b);la[g]=!0;return g}function $a(a){delete la[a];"apply"in ca?ca.call(d,a):ca(a)}function k(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];a.push.apply(a,b)}function ab(a){k(da,a)}function Qb(a){for(var b=da.length;b--;)if(da[b]===a){da.splice(b,1);break}}function Rb(){return da}function Sb(a,b){return bb(a,b)}function Tb(a,b){a=new Ub([a],{type:b});return Vb(a)}function Wb(a,b){return cb?new cb(a,b):void 0}function Xb(a){"function"===typeof a&&k(db,a)}function Yb(){return db}
function Zb(){return Da}function eb(a){return function(){for(var b=[],c=0;c<arguments.length;c++)b[c]=arguments[c];if("number"!==typeof b[0]||!la[b[0]])try{return a.apply(this,b)}catch(e){return a(b[0])}}}function $b(){ma&&(d.clearTimeout=ca,d.clearInterval=Ea,ma=!1)}function ea(a,b){return isNaN(a)||isNaN(b)?0:Math.floor(Math.random()*(b-a+1))+a}function v(a,b){return parseInt(a,b||10)}function p(a,b,c){void 0===c&&(c=0);var e=-1;b&&a&&a.indexOf&&(e=a.indexOf(b,c));return e}function fb(a){return document.getElementsByTagName(a)}
function gb(a){var b=a.length;if("number"===typeof b)a=b;else{for(var b=0,c=2048;a[c-1];)b=c,c+=c;for(var e=7;1<c-b;)e=(c+b)/2,a[e-1]?b=e:c=e;a=a[e]?c:b}return a}function ac(a){a=encodeURIComponent(a);var b=[];if(a)for(var c=0;c<a.length;c++){var e=a.charAt(c);k(b,bc[e]||e)}return b.join("")}function S(a){if(!a)return"";var b=d.crypto||d.msCrypto;if(b){var c=new Int8Array(a);b.getRandomValues(c)}else for(c=[],b=0;b<a;b++)c.push(ea(0,32));a=[];for(b=0;b<c.length;b++){var e=Math.abs(c[b]%32);a.push(String.fromCharCode(e+
(9>=e?48:55)))}return a.join("")}function hb(){return!(!d.console||!d.console.log)}function cc(){try{dc.apply(d.parent,arguments)}catch(a){}}function ec(){try{fc.apply(d.top,arguments)}catch(a){}}function gc(a){var b=Array.prototype.slice.call(arguments,1);try{hc.apply(a,b)}catch(c){}}function ic(a){var b=Array.prototype.slice.call(arguments,1);try{jc.apply(a,b)}catch(c){}}function K(){return d.dT_}function kc(){return B}function lc(){return ib}function mc(){return jb}function nc(){return wa}function kb(){return"dtAdk"}
function oc(){return fa}function lb(a){-1<d.dT_.io(a,"^")&&(a=a.split("^^").join("^"),a=a.split("^dq").join('"'),a=a.split("^rb").join(">"),a=a.split("^lb").join("<"),a=a.split("^p").join("|"),a=a.split("^e").join("="),a=a.split("^s").join(";"),a=a.split("^c").join(","),a=a.split("^bs").join("\\"));return a}function pc(){return T}function qc(a){T=a}function mb(a){var b=d.dT_,c=b.scv("rid"),b=b.scv("rpid");c&&(a.rid=c);b&&(a.rpid=b)}function nb(a){if(a.xb){a=lb(a.xb);try{T=new RegExp(a)}catch(b){}}}
function ob(a){var b={};a=a.split("|");for(var c=0;c<a.length;c++){var e=a[c].split("=");2===e.length&&(b[e[0]]=decodeURIComponent(e[1].replace(/\+/g," ")))}return b}function Fa(){var a=n("csu");return(a.indexOf("dbg")===a.length-3?a.substr(0,a.length-3):a)+"_"+n("app")+"_Store"}function xa(a,b,c){b=b||{};a=a.split("|");for(var e=0;e<a.length;e++){var d=a[e],g=p(a[e],"=");-1===g?b[d]="1":(d=a[e].substring(0,g),b[d]=a[e].substring(g+1,a[e].length))}!c&&(c=b,a=c.spc)&&(e=document.createElement("textarea"),
e.innerHTML=a,c.spc=e.value);return b}function U(a){return a in f?f[a]:ya[a]}function l(a){a=U(a);return"false"===a||"0"===a?!1:!!a}function L(a){var b=v(U(a));isNaN(b)&&(b=ya[a]);return b}function n(a){return String(U(a)||"")}function rc(a,b){f[a]=b}function pb(a){return f=a}function qb(a){var b=location.hostname;return b&&a?b===a||-1!==b.indexOf("."+a,b.length-("."+a).length):!0}function Ga(a){f[a]=0>p(f[a],"#"+a.toUpperCase())?f[a]:""}function Ha(a){var b=a.agentUri;b&&-1<p(b,"_")&&(b=/([a-zA-Z]*)[0-9]{0,4}_([a-zA-Z_0-9]*)_[0-9]+/g.exec(b))&&
b.length&&2<b.length&&(a.csu=b[1],a.featureHash=b[2])}function Ia(a,b){qb(f.domain||"")||(f.domainOverride=location.hostname+","+f.domain,delete f.domain);f.pVO&&(a.pVO=f.pVO);b||(a.bp=a.bp||ya.bp,1===h&&a.bp1&&(a.bp=1),a.bp2&&(a.bp=2),4!==a.bp||d.JSON||(a.bp=1))}function sc(){return f}function C(a,b){try{var c=na;c&&c.setItem(a,b)}catch(e){}}function oa(a){try{var b=na;if(b)return b.getItem(a)}catch(c){}return null}function M(a){try{var b=na;b&&b.removeItem(a)}catch(c){}}function za(a,b){if(V()&&
(!K().A||rb))return a.apply(this,b||[])}function V(){return!l("coo")||l("cooO")||rb}function m(a){document.cookie=a+'="";path=/'+(n("domain")?";domain="+n("domain"):"")+"; expires=Thu, 01 Jan 1970 00:00:01 GMT;"}function sb(a,b,c){var e=1,d=0;do document.cookie=a+'=""'+(b?";domain="+b:"")+";path="+c.substr(0,e)+"; expires=Thu, 01 Jan 1970 00:00:01 GMT;",e=c.indexOf("/",e),d++;while(-1!==e&&5>d)}function N(a){var b=document.cookie;if(!b)return"";var c=a+"=";a=p(b,c);if(0>a)return"";for(;0<=a;)if(a&&
" "!==b.charAt(a-1)&&";"!==b.charAt(a-1))a=p(b,c,a+c.length);else return c=a+c.length,a=p(b,";",a),0<=a?b.substring(c,a):b.substr(c);return""}function tc(a,b,c,e){b||0===b?(b=(""+b).replace(/[;\n\r]/g,"_"),a=a+"="+b+";path=/"+(n("domain")?";domain="+n("domain"):""),c&&(a+=";expires="+c.toUTCString()),e&&(a+=";Secure"),document.cookie=a):m(a)}function D(a,b,c,e){za(tc,[a,b,c,e])}function pa(a){var b=/^[0-9A-Za-z_=:\$\+\/\.\-\*%\|]*$/.test(a);return a&&2<a.split("$").length?!1:b}function tb(){var a=
N(B);a||((a=oa(B))&&pa(a)?W(a):a="");return pa(a)?a:""}function W(a){D(B,a,void 0,l("ssc"))}function qa(a){return 32===a.length||12>=a.length?a:""}function ub(a){if(!isNaN(Number(a))){var b=v(a);if(-99<=b&&99>=b)return a}return""}function vb(a){var b={sessionId:"",b:""},c=p(a,"|"),e=a;-1!==c&&(e=a.substring(0,c));c=p(e,"$");-1!==c?(b.sessionId=qa(e.substring(c+1)),b.b=ub(e.substring(0,c))):b.sessionId=qa(e);return b}function wb(a){var b={sessionId:"",b:""};a=a.split("v"===a.charAt(0)?"_":"=");if(2<
a.length&&!(a.length%2)){var c=Number(a[1]);if(isNaN(c)||3>c)return b;for(var c={},e=2;e<a.length;e++)c[a[e]]=a[e+1],e++;c.sn?b.sessionId=qa(c.sn):b.sessionId="hybrid";c.srv&&(b.b=ub(c.srv));a=K();"1"!==c.ol||0<=p(navigator.userAgent,"RuxitSynthetic")||(C("dtDisabled","true"),a.disabled=!0,a.A=!0)}return b}function Ja(){return!l("dpvc")&&!l("pVO")}function ga(a){var b=document.cookie?document.cookie.split(a+"=").length-1:0;if(1<b){var c=n("domain")||d.location.hostname,e=d.location.hostname,J=d.location.pathname,
g=0,f=0;w.push(a);do{var h=e.substr(g);if(h!==c||"/"!==J){sb(a,h===c?"":h,J);var k=document.cookie?document.cookie.split(a+"=").length-1:0;k<b&&(w.push(h),b=k)}g=e.indexOf(".",g)+1;f++}while(g&&10>f&&1<b);n("domain")&&1<b&&sb(a,"",J)}}function uc(){ga(fa);ga(B);ga(wa);ga("rxvt");ab(function(a,b,c,e){0<w.length&&!b&&(a.av(e,0,"dCN",function(){return w.join(",")}),a.av(e,4,"duplicateCookieNames",function(){return w.slice()}),w=[])})}function vc(){return ha}function Aa(a,b,c,e,d){var g=document.createElement("script");
g.setAttribute("src",a);b&&g.setAttribute("defer","true");c&&(g.onload=c);e&&(g.onerror=e);d&&g.setAttribute("id",d);g.setAttribute("crossorigin","anonymous");a=document.getElementsByTagName("script")[0];a.parentElement.insertBefore(g,a)}function Ka(a,b){return La+"/"+(b||X)+"_"+a+"_"+(L("buildNumber")||K().version)+".js"}function Ma(a,b){try{d.localStorage&&d.localStorage.setItem(a,b)}catch(c){}}function Na(a){try{if(d.localStorage)return d.localStorage.getItem(a)}catch(b){}return null}function E(a){try{d.localStorage&&
d.localStorage.removeItem(a)}catch(b){}}function xb(a){if(a=a||tb()){var b=a.charAt(0);return"v"===b||"="===b?wb(a):vb(a)}return{sessionId:"",b:""}}function ia(a){return xb(a).b}function ja(a){return xb(a).sessionId}function yb(a,b){b=r(b);for(var c=!1,e=0;e<b.length;e++)b[e].frameId===ha&&(b[e].g=a,c=!0);c||k(b,{frameId:ha,g:a});Y(b)}function Y(a,b,c){if(a){var e=0===h;var d=[];for(var g=0;g<a.length;g++)if("-"!==a[g].g){0<g&&0<d.length&&k(d,"p");var f=x;f&&(k(d,f),k(d,"$"));k(d,a[g].frameId);k(d,
"h");k(d,a[g].g)}e&&!d.length&&(Oa&&(O(0,!0,"a"),Pa(!1)),x=ia()||"",k(d,x),k(d,"$"),k(d,ha),k(d,"h-"));a=e?b||Qa():F();if(e||a)k(d,"v"),k(d,a),e="undefined"!==typeof c?c:t(),0<=e&&(k(d,"e"),k(d,e));d=d.join("")}else d="";d||0!==h||(Oa&&(O(0,!0,"a"),Pa(!1)),x=ia()||"",c="undefined"!==typeof c?c:t(),d=x+"$"+ha+"h-v"+(b||Qa()+(0<=c?"e"+c:"")));D(fa,d||"-",void 0,l("ssc"))}function r(a){var b=N(fa),c=[];if(b&&"-"!==b){for(var b=b.split("p"),d="",f=null,g=0;g<b.length;g++){var h=b[g],n=p(h,"h"),l=p(h,
"v"),m=p(h,"e"),y=h.substring(p(h,"$")+1,n),n=-1!==l?h.substring(n+1,l):h.substring(n+1),d=d||-1!==l?-1!==m?h.substring(l+1,m):h.substring(l+1):"",f=f||-1!==m?h.substring(m+1):null;(h=a)||(h=v(y.split("_")[0]),l=u()%Ra,l<h&&(l+=Ra),h=h+9E5>l);h&&k(c,{frameId:y,g:"-"===n?"-":v(n)})}for(g=0;g<c.length;g++)c[g].visitId=d||"",c[g].j=null!==f?v(f):-1}return c}function Qa(){return F()||O(0,!0,"c")}function F(){var a=r(!0);return Z()<=u()?"":(ka(!1),1<=a.length?-1!==t()&&2<=L(Sa)&&a[0].j>=L(wc)?O(0,!0,"e"+
a[0].j,!0):a[0].visitId||"":P(G)||"")}function ka(a){var b=u(),c=zb().m;a&&(c=b);Ab(b+Bb+"|"+c);Cb()}function Db(a,b,c){if(c&&(c=r(!0),(c=1<=c.length?c[0].visitId||"":P(G)||"")&&(c=/([A-Z]+)-([0-9]+)/g.exec(c))&&3===c.length&&isFinite(Number(c[2]))))return a=c[1]+"-"+(Number(c[2])+1),Eb(a,b),a;a||(a=ea(1,1E6));c=ja()||"";c||(c=(0===h?-1*ea(Fb,Gb)+"$":"")+S(32),W(c),c=ja(c)||"");a=""+a;for(var d=a.length,f=[],g=0;g<c.length;g++)f[g]=String.fromCharCode(65+Math.abs((c.charCodeAt(g)^a.charCodeAt(g%d))%
26));f.push("-0");a=f.join("");Eb(a,b);return a}function Ta(a){var b=r(!1),c=2<=L(Sa)?0:-1;Y(b,a,c);Q(G,a);Q(aa,String(c));ka(!0)}function O(a,b,c,d){b&&(ba=!0);a=Db(u(),c,d);Ta(a);return a}function Eb(a,b){for(var c=0;c<Ua.length;c++)Ua[c](a,ba,b)}function xc(a){Ua.push(a)}function Cb(){Va&&$a(Va);Va=R(Hb,Z()-u())}function Hb(){if(Z()<=u()&&V()){var a=u(),a=Db(a,"t"+(a-Z()));Ta(a);return!0}Ba(Cb);return!1}function Ab(a){D("rxvt",a,void 0,l("ssc"));Q("rxvt",a)}function Q(a,b){Ja()?(Ma(a,b),M(a)):
(C(a,b),E(a))}function Ib(){var a=N("rxvt");a||(a=P("rxvt")||"");return a}function Jb(){var a=F()||"";Q(G,a);a=Ib();Ab(a)}function zb(){var a={v:0,m:0},b=Ib();if(b)try{var c=b.split("|");2===c.length&&(a.v=parseInt(c[0],10),a.m=parseInt(c[1],10))}catch(e){}return a}function Z(){var a=zb();return Math.min(a.v,a.m+Kb)}function yc(a){Bb=a}function Pa(a){void 0===a&&(a=!0);Oa=a}function zc(){var a=ba;ba=!1;return a}function Ac(){Hb()||ka(!1)}function Bc(){if(0===h&&-1!==t()&&2<=L(Sa)){var a=r(!1),b=t()+
1;Y(a,"",b);Q(aa,String(b))}}function P(a){var b=Na(a);b||(b=oa(a));return b}function t(){var a=r(!0);if(1<=a.length&&!isNaN(a[0].j))return a[0].j;a=P(aa)||"-1";a=v(a);return isNaN(a)?-1:a}function Ba(a){V()?a():(q||(q=[]),k(q,a))}function Cc(a){return za(a)}function Dc(){for(var a=0;a<q.length;a++)R(q[a],0);q=[];f.cooO=!0}function Ec(){f.cooO=!1;m(B);m(fa);m(wa);m("dtSa");m(kb());0===h&&(m("rxVisitor"),m("rxvt"));try{Ja()?(E(aa),E(G)):(M(aa),M(G));var a=na;a&&(0===h&&a.removeItem("rxVisitor"),a.removeItem(B),
a.removeItem("rxvt"));(a=Wa)&&a.removeItem(Fa())}catch(b){}}function Fc(){return x}function Gc(){Ba(function(){ja()||W((0===h?-1*ea(Fb,Gb)+"$":"")+S(32));x=ia()||""})}function Xa(){var a=N("rxVisitor");if(!a||a.length&&a.length!==Ya)a=Na("rxVisitor")||oa("rxVisitor"),a&&a.length===Ya||(Lb=!0,a=u()+"",a+=S(Ya-a.length));var b=a;if(Ja()){var c=new Date;c.setFullYear(c.getFullYear()+2);Ma("rxVisitor",b)}else C("rxVisitor",b);D("rxVisitor",b,c,l("ssc"));return a}function Hc(){return Lb}function Ic(a){var b=
N("rxVisitor");m("rxVisitor");M("rxVisitor");E("rxVisitor");D("rxVisitor",b);f.pVO=!0;a&&Ma(Za,"1");Jb()}function Jc(){E(Za);l("pVO")&&(f.pVO=!1,Xa());Jb()}function Kc(){var a=0;try{a=Math.floor(d.performance.now())}catch(b){}return 0>=a||isNaN(a)||!isFinite(a)?(new Date).getTime()-Mb():a}function Mb(){var a=0;try{a=Math.floor(d.performance.B)}catch(c){}if(0>=a||isNaN(a)||!isFinite(a)){var a=d.dT_,b=0;try{b=d.performance.timing.navigationStart}catch(c){}a=0>=b||isNaN(b)||!isFinite(b)?a.gAST():b}return a}
function Lc(){var a=d.dT_;d.dT_={version:"10187200323152418",cfg:a?a.cfg:"",iCE:a?a.iCE:function(){return navigator.cookieEnabled},ica:1,disabled:!1,A:!1,gx:Ob,cx:Pb,mp:cc,mtp:ec,mi:gc,mw:ic,gAST:Zb,ww:Wb,stu:Tb,nw:u,apush:k,st:R,si:Sb,aBPSL:ab,rBPSL:Qb,gBPSL:Rb,aBPSCC:Xb,gBPSCC:Yb,buildType:0===h?"dynatrace":"appmon",gSSV:oa,sSSV:C,rSSV:M,rvl:E,pn:v,iVSC:pa,p3SC:wb,pLSC:vb,io:p,dC:m,sC:D,esc:ac,gSId:ia,gDtc:ja,gSC:tb,sSC:W,gC:N,cRN:ea,cRS:S,gEL:gb,gEBTN:fb,gSCN:kc,gPCHN:lc,gRHN:mc,gPCCN:oc,gLCN:nc,
gMSIDCN:kb,cfgO:sc,pCfg:ob,pCSAA:xa,cFHFAU:Ha,sCD:Ia,bcv:l,ncv:L,scv:n,stcv:rc,rplC:pb,cLSCK:Fa,gFId:vc,gBAU:Ka,iS:Aa,eWE:Ba,oEIE:Cc,oEIEWA:za,eA:Dc,dA:Ec,gcSId:Fc,iNV:Hc,gVID:Xa,dPV:Ic,ePV:Jc,sVIdUP:Pa,sVTT:yc,sVID:Ta,rVID:F,gVI:Qa,gNVId:O,gARnVF:zc,cAUV:Ac,uVT:ka,aNVL:xc,gPC:r,cPC:yb,sPC:Y,clB:$b,ct:$a,aRI:mb,iXB:nb,gXBR:pc,sXBR:qc,de:lb,cCL:hb,gEC:t,iEC:Bc,rnw:Kc,gto:Mb}}var H=window;if(!H.dT_||!H.dT_.cfg||"string"!=typeof H.dT_.cfg||H.dT_.initialized)H.console&&H.console.log("Initconfig not found or agent already initialized! This is an injection issue.");
else if(!(navigator.userAgent&&0<=navigator.userAgent.indexOf("RuxitSynthetic"))){var d="undefined"!==typeof window?window:self,ta,ua,da,db=[],Da,Wa,na,la={},bc=new (function(){return function(){this["!"]="%21";this["~"]="%7E";this["*"]="%2A";this["("]="%28";this[")"]="%29";this["'"]="%27";this.$="%24";this[";"]="%3B";this[","]="%2C"}}()),va,bb,hc=d.postMessage,cb=d.Worker,Ub=d.Blob,Vb=d.URL&&d.URL.createObjectURL,jc=d.Worker&&d.Worker.prototype.postMessage,dc=d.parent.postMessage,fc=d.top.postMessage,
ca,Ea,ma=!1,h,ya,fa="dtPC",B="dtCookie",ib="x-dtpc",jb="x-dtreferer",wa="dtLatC",T,f={},rb=!!navigator.userAgent&&0<=navigator.userAgent.indexOf("RuxitSynthetic"),w=[],ha,Ra=6E8,Nb,La,X,Mc={childList:!0,subtree:!0,attributes:!0,attributeOldValue:!0},Nc=["_DT_RENDERING_"],wc="mel",Sa="vs",aa="rxec",G="rxvisitid",Va,Bb=18E5,Kb=216E5,ba=!1,Ua=[],Oa=!1,q=[],Fb=2,Gb=21,x,Za="dt-pVO",Ya=45,Lb=!1;if(!function(a){try{h=a;var b=d.dT_;ta=d.XMLHttpRequest;ua=d.ActiveXObject;va=d.setTimeout;bb=d.setInterval;
ma||(ca=d.clearTimeout,Ea=d.clearInterval);if(!((b.iCE?b.iCE():navigator.cookieEnabled)&&("complete"!==document.readyState||d.performance&&d.performance.timing)))return!1;Lc();try{Wa=d.localStorage,na=d.sessionStorage}catch(Ca){}Da=u();da=[];la={};ma||(d.clearTimeout=eb(ca),d.clearInterval=eb(Ea),ma=!0);ha=Da%Ra+"_"+v(ea(0,1E3)+"");ya={ade:"",aew:!0,agentLocation:"",agentname:"",agentUri:"",uana:"data-dtname,data-dtName",app:"",async:!1,auto:!1,bandwidth:"300",bp1:!1,bp2:!1,bp:0===h?1:2,bs:!1,buildNumber:0,
coo:!1,cooO:!1,cors:!1,csu:"",cuc:"",cux:!1,dataDtConfig:"",debugName:"",dASXH:0!==h,disableCookieManager:!1,disableLogging:!1,dmo:!1,dpvc:!1,disableXhrFailures:!1,domain:"",domainOverride:"",doNotDetect:"",ds:!0,dsndb:!1,dsss:!1,eni:!1,euf:!1,evl:"",extblacklist:"",exteventsoff:!1,fa:!1,fau:!0,featureHash:"",ffi:!1,hvt:216E5,lastModification:0,imm:!1,initializedModules:"",ign:"",instr:"",iub:"",lab:!1,legacy:!1,lmut:!0,lzwd:!1,lzwe:!1,mb:"",md:"",mdp:"",mdl:"",mdn:5E3,mel:200,mepp:10,moa:30,mrt:3,
mpl:0===h?1024:100,mmds:2E4,msl:3E4,mhl:4E3,name:"",ncw:!1,ntd:!1,oat:180,ote:!1,perfbv:1,prfSmpl:0,pt:!0,pui:!1,pVO:!1,raxeh:!0,rdnt:0,reportUrl:"dynaTraceMonitor",restoreTimeline:!1,rid:"",ridPath:"",rpid:"",rt:0===h?1E4:0,rtl:0===h?0:100,rtp:0===h?2:1,rtt:1E3,rtu:200,rx_visitID:"",sl:100,sosi:!1,spc:"",srbbv:1,srbw:!0,srad:!0,srmr:100,srms:"1,1,,,",srsr:1E5,srtbv:3,srtd:1,srtr:500,srvr:"",srwo:!1,ssc:!1,st:3E3,svNB:!1,syntheticConfig:!1,tal:0,tp:"500,50,3",tt:100,tvc:3E3,uam:!1,useNewCookies:!1,
uxdce:!1,uxdcw:1500,uxrgce:!0,uxrgcm:"100,25,300,3;100,25,300,3",vcfi:0===h,vcit:1E3,vct:50,vcv:1,vcx:50,vs:1,WST:!1,xb:"",xmut:!0,xt:0};a:{var c=K().cfg;f={reportUrl:"dynaTraceMonitor",initializedModules:"",csu:"dtagent",dataDtConfig:"string"===typeof c?c:""};K().cfg=f;0===h&&(f.csu="ruxitagentjs");var e=f.dataDtConfig;e&&-1===p(e,"#CONFIGSTRING")&&(xa(e,f),Ga("domain"),Ga("auto"),Ga("app"),Ha(f));var k=fb("script"),g=gb(k),m=-1===p(f.dataDtConfig||"","#CONFIGSTRING")?f:null;if(0<g)for(a=0;a<g;a++)b:{var b=
void 0,r=k[a],c=m;if(r.attributes){var x=f.csu+"_bootstrap.js",e=/.*\/jstag\/.*\/.*\/(.*)_bs(_dbg)?.js$/,D=c,y=r.src,w=y&&y.indexOf(x),E=r.attributes.getNamedItem("data-dtconfig");if(E){var t=y,G=E.value,z={};f.legacy=!0;if(t){var q=/([a-zA-Z]*)[0-9]{0,4}_([a-zA-Z_0-9]*)_([0-9]+)/g.exec(t);q&&q.length&&(z.csu=q[1],z.featureHash=q[2],0===h&&(z.agentLocation=t.substr(0,p(t,q[1])-1),z.buildNumber=q[3]))}G&&xa(G,z,!0);qb(z.domain)||(z.domainOverride=location.hostname+","+z.domain,delete z.domain);b=z;
if(!c)D=b;else if(!b.syntheticConfig){m=b;break b}}b||(b=f);if(w&&0<=w){var H=w+x.length+5;b.app=y.length>H?y.substr(H):"Default%20Application"}else if(y){var M=e.exec(y);M&&(b.app=M[1])}m=D}else m=c}if(m)for(var O in m)m.hasOwnProperty(O)&&(k=O,f[k]=m[k]);if(f.rx_visitID){var Q=f.rx_visitID;Q&&(K().rx_visitID=Q)}var aa=Fa();try{var S=(m=Wa)&&m.getItem(aa);if(S){var ra=ob(S),A=xa(ra.config||""),C=f.lastModification||"0",W=v((A.lastModification||ra.lastModification||"0").substr(0,13)),ga="string"===
typeof C?v(C.substr(0,13)):C;if(!C||W>=ga)if(A.agentname=ra.name,A.agentUri?Ha(A):(A.csu=ra.name,A.featureHash=ra.featureHash),Ia(A,!0),nb(A),mb(A),W>(f.lastModification||0)){var ia=l("auto"),ja=l("legacy");f=pb(A);f.auto=ia;f.legacy=ja}}}catch(Ca){}Ia(f);try{var Y=f.ign;if(Y&&(new RegExp(Y)).test(d.location.href)){document.dT_=d.dT_=void 0;var sa=!1;break a}}catch(Ca){}f.useNewCookies&&0===h&&(fa="rxpc",B="rxsession",wa="rxlatency",ib="x-rxpc",jb="x-rxreferer");sa=!0}if(!sa)return!1;uc();try{Nb=
K().disabled||!!oa("dtDisabled")}catch(Ca){}var F;if(!(F=n("agentLocation")))a:{var Z=n("agentUri");if(Z||document.currentScript){var I=Z||document.currentScript.src;if(I){var ka=-1===p(I,"_bs")&&-1===p(I,"_bootstrap")&&-1===p(I,"_complete")?1:2,P=I.lastIndexOf("/");for(sa=0;sa<ka&&-1!==P;sa++)I=I.substr(0,P),P=I.lastIndexOf("/");F=I;break a}}var ba=location.pathname;F=ba.substr(0,ba.lastIndexOf("/"))}La=F;X=n("agentname")||n("csu")||(0===h?"ruxitagentjs":"dtagent");"true"===N("dtUseDebugAgent")?
0>X.indexOf("dbg")&&(X=n("debugName")||X+"dbg"):X=n("name")||X;if(!l("auto")&&!l("legacy")&&!Nb){var R=n("agentUri")||Ka(n("featureHash")),T;if(!(T=l("async")||"complete"===document.readyState)){var U=d.navigator.userAgent,V=U.indexOf("MSIE ");T=0<V?9>=parseInt(U.substring(V+5,U.indexOf(".",V)),10):!1}T?Aa(R,l("async"),void 0,void 0,"dtjsagent"):(document.write('<script id="dtjsagentdw" type="text/javascript" src="'+R+'">\x3c/script>'),document.getElementById("dtjsagentdw")||Aa(R,l("async"),void 0,
void 0,"dtjsagent"))}var pa=d.location.href;0===h&&-1!==p(pa,"_DT_RENDERING_")&&(K().RMOD={conf:Mc,ignore:Nc,ID:"_DT_RENDERING_"},La&&Aa(Ka("R"),!0,void 0,void 0,"dtjsagent"));N(B)&&(f.cooO=!0);Gc();if(0===h){var qa=!!Na(Za);f.pVO=qa;Ba(Xa)}0===h&&L("hvt")&&(Kb=L("hvt"));za(yb,[1])}catch(Ca){return!1}return!0}(0)){try{delete d.dT_}catch(a){d.dT_=void 0}hb()&&d.console.log("JsAgent initCode initialization failed!")}}})();}).call(this);
</script>
</html>
How can I access the CSV file related to the highlighted link shown ?
corona.saude.gov.br site
When you click the download button you can see the generated url. You can use that with read.csv and specify the ; delimiter
f <- read.csv('https://mobileapps.saude.gov.br/esus-vepi/files/unAFkcaNDeXajurGB7LChj8SgQYS2ptm/1d2b944e065c7304b2754cc386635e38_Download_COVID19_20200430.csv',sep = ';')
View(f)
Though if those initial identifiers vary over time then code would break. In that case using a tool like RSelenium to automate browser and click the download button might be an option.
library(RSelenium)
library(tidyverse)
driver <- RSelenium::rsDriver(browser = "chrome",
chromever =
system2(command = "wmic",
args = 'datafile where name="C:\\\\Program Files (x86)\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe" get Version /value',
stdout = TRUE,
stderr = TRUE) %>%
stringr::str_extract(pattern = "(?<=Version=)\\d+\\.\\d+\\.\\d+\\.") %>%
magrittr::extract(!is.na(.)) %>%
stringr::str_replace_all(pattern = "\\.",
replacement = "\\\\.") %>%
paste0("^", .) %>%
stringr::str_subset(string =
binman::list_versions(appname = "chromedriver") %>%
dplyr::last()) %>%
as.numeric_version() %>%
max() %>%
as.character())
remote_driver <- driver[["client"]]
remote_driver$navigate("https://covid.saude.gov.br")
button_element <- remote_driver$findElement(using = 'class', value = "btn-outline")
button_element$clickElement()
Edit: The website was changed and thus this solution does not work anymore. However, It can be adapted to the new website and thus I'm leaving the answer for future reference.
The download link is generated when the button is clicked and it is in the form
https://mobileapps.saude.gov.br/esus-vepi/files/unAFkcaNDeXajurGB7LChj8SgQYS2ptm/<a_32_digit_hexadecimal_number>_Download_COVID19_<YYYYMMDD>.csv
The link changes each day and while the date part is easy, the 32 digit hexadecimal number also changes and we don't know how it is computed.
I tried to finding some API call using firefox dev tools that could be used to get the link (which javascript function is called to handle the click of the button), but without luck. The packing of the assets makes this very complicated, at least to my experience level, since I'm no web developer.
This leaves us with selenium probably being the only option. Here is a solution in Python, which should not be difficult to adapt to R.
import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
URL = "https://covid.saude.gov.br/"
# Create a profile and set some preferences to prevent download dialog
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2) # custom location
profile.set_preference('browser.download.manager.showWhenStarting', False)
# The value is the folder where to download to. We are setting the download
# folder as the current folder of the python interpreter by using 'os.getcwd'
profile.set_preference('browser.download.dir', os.getcwd())
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/csv')
# Create a driver and load the webpage -> This blocks until the page
# You need to install a driver. I'm using a driver for firefox
# See here https://selenium-python.readthedocs.io/installation.html#drivers
driver = webdriver.Firefox(profile)
driver.get(URL)
# The webpage uses shadow-dom in several places, but we can get the download
# button by get all "button"s from the page
buttons = driver.find_elements_by_class_name("button")
# The download button is the third one (index 2)
download_button = buttons[2]
# When we run this script we should wait a bit before clicking the download
# button. I'm waiting 2 seconds to be safe
sleep(2.0)
# Click the button
download_button.click()
# Sleep before closing the driver to allow time for the download. If we close
# the driver to quickly the window will be closed before the download is
# finished
sleep(3.0)
# Close the driver -> This closes the firefox window that was opened by selenium
driver.close()
Note that you need to install a selenium driver before this can be used. Also, you might need to tweek the sleep values that I have used.

What is the nested tables limit for major browsers?

Backstory: When working with Microsoft Dynamics CRM, I discovered a document from Microsoft stating that every browser has a specific limit of how many nested tables you can have.
There is a limit to the number of nested steps you can use in a dialog. The limit depends on the browser you’re using and isn’t a limit in Microsoft Dynamics CRM. The nested steps are rendered in the browser as nested tables. Some browsers support more levels of nested tables than others.
Source
I have read this question but it is more generalised into ANY element, rather than a table in a table, which is what I am seeing.
What are the real-world limitations for major browsers?
From my real-life example, I am looking at approximately 61 nested tables. Although, I am unsure, as copying the entire page source reveals 6 opening <table> tags and 61 </table> tags
As noted by #Alex, Firefox is currently limited to 33 nested tables. Cross-browser, this represents the current practical nested table limit. Your 61 nested tables will not currently render in Firefox.
Let's go further and make a real-life test. We can open a new nested table on each line and let the browser fill in the closing tags:
<table><tr><td>1
<table><tr><td>2
<table><tr><td>3
<table><tr><td>4
<table><tr><td>5
<!-- ad infinitum -->
Results
I tested Internet Explorer 11, Firefox (Windows + Android) and Chrome (Windows + Android) — Edge and Safari would be useful to test as well.
Most nested tables rendered
Internet Explorer 11 managed to render 262 nested tables correctly. Any more would be rendered briefly before crashing the browser.
Runner up
Google Chrome (Version 53.0.2785.143 m (64-bit)) manages to render 378 nested tables, but only the first 127 are rendered correctly, with the rest breaking out of the outermost table. Any further nested tables caused the tab to crash. This behaviour is the same on mobile.
Least
Firefox (Version 49.01) only managed to render 33 nested tables correctly. The following nested tables were simply not rendered and the browser did not crash even when 1000 nested tables were given to it. This behaviour is the same on mobile.
Try it yourself
Here are 1000 nested tables. Note: Testing all 1000 tables will probably cause your browser to crash.
table {
border: 1px solid #000;
}
<table><tr><td>1
<table><tr><td>2
<table><tr><td>3
<table><tr><td>4
<table><tr><td>5
<table><tr><td>6
<table><tr><td>7
<table><tr><td>8
<table><tr><td>9
<table><tr><td>10
<table><tr><td>11
<table><tr><td>12
<table><tr><td>13
<table><tr><td>14
<table><tr><td>15
<table><tr><td>16
<table><tr><td>17
<table><tr><td>18
<table><tr><td>19
<table><tr><td>20
<table><tr><td>21
<table><tr><td>22
<table><tr><td>23
<table><tr><td>24
<table><tr><td>25
<table><tr><td>26
<table><tr><td>27
<table><tr><td>28
<table><tr><td>29
<table><tr><td>30
<table><tr><td>31
<table><tr><td>32
<table><tr><td>33
<table><tr><td>34
<table><tr><td>35
<table><tr><td>36
<table><tr><td>37
<table><tr><td>38
<table><tr><td>39
<table><tr><td>40
<table><tr><td>41
<table><tr><td>42
<table><tr><td>43
<table><tr><td>44
<table><tr><td>45
<table><tr><td>46
<table><tr><td>47
<table><tr><td>48
<table><tr><td>49
<table><tr><td>50
<table><tr><td>51
<table><tr><td>52
<table><tr><td>53
<table><tr><td>54
<table><tr><td>55
<table><tr><td>56
<table><tr><td>57
<table><tr><td>58
<table><tr><td>59
<table><tr><td>60
<table><tr><td>61
<table><tr><td>62
<table><tr><td>63
<table><tr><td>64
<table><tr><td>65
<table><tr><td>66
<table><tr><td>67
<table><tr><td>68
<table><tr><td>69
<table><tr><td>70
<table><tr><td>71
<table><tr><td>72
<table><tr><td>73
<table><tr><td>74
<table><tr><td>75
<table><tr><td>76
<table><tr><td>77
<table><tr><td>78
<table><tr><td>79
<table><tr><td>80
<table><tr><td>81
<table><tr><td>82
<table><tr><td>83
<table><tr><td>84
<table><tr><td>85
<table><tr><td>86
<table><tr><td>87
<table><tr><td>88
<table><tr><td>89
<table><tr><td>90
<table><tr><td>91
<table><tr><td>92
<table><tr><td>93
<table><tr><td>94
<table><tr><td>95
<table><tr><td>96
<table><tr><td>97
<table><tr><td>98
<table><tr><td>99
<table><tr><td>100
<table><tr><td>101
<table><tr><td>102
<table><tr><td>103
<table><tr><td>104
<table><tr><td>105
<table><tr><td>106
<table><tr><td>107
<table><tr><td>108
<table><tr><td>109
<table><tr><td>110
<table><tr><td>111
<table><tr><td>112
<table><tr><td>113
<table><tr><td>114
<table><tr><td>115
<table><tr><td>116
<table><tr><td>117
<table><tr><td>118
<table><tr><td>119
<table><tr><td>120
<table><tr><td>121
<table><tr><td>122
<table><tr><td>123
<table><tr><td>124
<table><tr><td>125
<table><tr><td>126
<table><tr><td>127
<table><tr><td>128
<table><tr><td>129
<table><tr><td>130
<table><tr><td>131
<table><tr><td>132
<table><tr><td>133
<table><tr><td>134
<table><tr><td>135
<table><tr><td>136
<table><tr><td>137
<table><tr><td>138
<table><tr><td>139
<table><tr><td>140
<table><tr><td>141
<table><tr><td>142
<table><tr><td>143
<table><tr><td>144
<table><tr><td>145
<table><tr><td>146
<table><tr><td>147
<table><tr><td>148
<table><tr><td>149
<table><tr><td>150
<table><tr><td>151
<table><tr><td>152
<table><tr><td>153
<table><tr><td>154
<table><tr><td>155
<table><tr><td>156
<table><tr><td>157
<table><tr><td>158
<table><tr><td>159
<table><tr><td>160
<table><tr><td>161
<table><tr><td>162
<table><tr><td>163
<table><tr><td>164
<table><tr><td>165
<table><tr><td>166
<table><tr><td>167
<table><tr><td>168
<table><tr><td>169
<table><tr><td>170
<table><tr><td>171
<table><tr><td>172
<table><tr><td>173
<table><tr><td>174
<table><tr><td>175
<table><tr><td>176
<table><tr><td>177
<table><tr><td>178
<table><tr><td>179
<table><tr><td>180
<table><tr><td>181
<table><tr><td>182
<table><tr><td>183
<table><tr><td>184
<table><tr><td>185
<table><tr><td>186
<table><tr><td>187
<table><tr><td>188
<table><tr><td>189
<table><tr><td>190
<table><tr><td>191
<table><tr><td>192
<table><tr><td>193
<table><tr><td>194
<table><tr><td>195
<table><tr><td>196
<table><tr><td>197
<table><tr><td>198
<table><tr><td>199
<table><tr><td>200
<table><tr><td>201
<table><tr><td>202
<table><tr><td>203
<table><tr><td>204
<table><tr><td>205
<table><tr><td>206
<table><tr><td>207
<table><tr><td>208
<table><tr><td>209
<table><tr><td>210
<table><tr><td>211
<table><tr><td>212
<table><tr><td>213
<table><tr><td>214
<table><tr><td>215
<table><tr><td>216
<table><tr><td>217
<table><tr><td>218
<table><tr><td>219
<table><tr><td>220
<table><tr><td>221
<table><tr><td>222
<table><tr><td>223
<table><tr><td>224
<table><tr><td>225
<table><tr><td>226
<table><tr><td>227
<table><tr><td>228
<table><tr><td>229
<table><tr><td>230
<table><tr><td>231
<table><tr><td>232
<table><tr><td>233
<table><tr><td>234
<table><tr><td>235
<table><tr><td>236
<table><tr><td>237
<table><tr><td>238
<table><tr><td>239
<table><tr><td>240
<table><tr><td>241
<table><tr><td>242
<table><tr><td>243
<table><tr><td>244
<table><tr><td>245
<table><tr><td>246
<table><tr><td>247
<table><tr><td>248
<table><tr><td>249
<table><tr><td>250
<table><tr><td>251
<table><tr><td>252
<table><tr><td>253
<table><tr><td>254
<table><tr><td>255
<table><tr><td>256
<table><tr><td>257
<table><tr><td>258
<table><tr><td>259
<table><tr><td>260
<table><tr><td>261
<table><tr><td>262
<table><tr><td>263
<table><tr><td>264
<table><tr><td>265
<table><tr><td>266
<table><tr><td>267
<table><tr><td>268
<table><tr><td>269
<table><tr><td>270
<table><tr><td>271
<table><tr><td>272
<table><tr><td>273
<table><tr><td>274
<table><tr><td>275
<table><tr><td>276
<table><tr><td>277
<table><tr><td>278
<table><tr><td>279
<table><tr><td>280
<table><tr><td>281
<table><tr><td>282
<table><tr><td>283
<table><tr><td>284
<table><tr><td>285
<table><tr><td>286
<table><tr><td>287
<table><tr><td>288
<table><tr><td>289
<table><tr><td>290
<table><tr><td>291
<table><tr><td>292
<table><tr><td>293
<table><tr><td>294
<table><tr><td>295
<table><tr><td>296
<table><tr><td>297
<table><tr><td>298
<table><tr><td>299
<table><tr><td>300
<table><tr><td>301
<table><tr><td>302
<table><tr><td>303
<table><tr><td>304
<table><tr><td>305
<table><tr><td>306
<table><tr><td>307
<table><tr><td>308
<table><tr><td>309
<table><tr><td>310
<table><tr><td>311
<table><tr><td>312
<table><tr><td>313
<table><tr><td>314
<table><tr><td>315
<table><tr><td>316
<table><tr><td>317
<table><tr><td>318
<table><tr><td>319
<table><tr><td>320
<table><tr><td>321
<table><tr><td>322
<table><tr><td>323
<table><tr><td>324
<table><tr><td>325
<table><tr><td>326
<table><tr><td>327
<table><tr><td>328
<table><tr><td>329
<table><tr><td>330
<table><tr><td>331
<table><tr><td>332
<table><tr><td>333
<table><tr><td>334
<table><tr><td>335
<table><tr><td>336
<table><tr><td>337
<table><tr><td>338
<table><tr><td>339
<table><tr><td>340
<table><tr><td>341
<table><tr><td>342
<table><tr><td>343
<table><tr><td>344
<table><tr><td>345
<table><tr><td>346
<table><tr><td>347
<table><tr><td>348
<table><tr><td>349
<table><tr><td>350
<table><tr><td>351
<table><tr><td>352
<table><tr><td>353
<table><tr><td>354
<table><tr><td>355
<table><tr><td>356
<table><tr><td>357
<table><tr><td>358
<table><tr><td>359
<table><tr><td>360
<table><tr><td>361
<table><tr><td>362
<table><tr><td>363
<table><tr><td>364
<table><tr><td>365
<table><tr><td>366
<table><tr><td>367
<table><tr><td>368
<table><tr><td>369
<table><tr><td>370
<table><tr><td>371
<table><tr><td>372
<table><tr><td>373
<table><tr><td>374
<table><tr><td>375
<table><tr><td>376
<table><tr><td>377
<table><tr><td>378
<table><tr><td>379
<table><tr><td>380
<table><tr><td>381
<table><tr><td>382
<table><tr><td>383
<table><tr><td>384
<table><tr><td>385
<table><tr><td>386
<table><tr><td>387
<table><tr><td>388
<table><tr><td>389
<table><tr><td>390
<table><tr><td>391
<table><tr><td>392
<table><tr><td>393
<table><tr><td>394
<table><tr><td>395
<table><tr><td>396
<table><tr><td>397
<table><tr><td>398
<table><tr><td>399
<table><tr><td>400
<table><tr><td>401
<table><tr><td>402
<table><tr><td>403
<table><tr><td>404
<table><tr><td>405
<table><tr><td>406
<table><tr><td>407
<table><tr><td>408
<table><tr><td>409
<table><tr><td>410
<table><tr><td>411
<table><tr><td>412
<table><tr><td>413
<table><tr><td>414
<table><tr><td>415
<table><tr><td>416
<table><tr><td>417
<table><tr><td>418
<table><tr><td>419
<table><tr><td>420
<table><tr><td>421
<table><tr><td>422
<table><tr><td>423
<table><tr><td>424
<table><tr><td>425
<table><tr><td>426
<table><tr><td>427
<table><tr><td>428
<table><tr><td>429
<table><tr><td>430
<table><tr><td>431
<table><tr><td>432
<table><tr><td>433
<table><tr><td>434
<table><tr><td>435
<table><tr><td>436
<table><tr><td>437
<table><tr><td>438
<table><tr><td>439
<table><tr><td>440
<table><tr><td>441
<table><tr><td>442
<table><tr><td>443
<table><tr><td>444
<table><tr><td>445
<table><tr><td>446
<table><tr><td>447
<table><tr><td>448
<table><tr><td>449
<table><tr><td>450
<table><tr><td>451
<table><tr><td>452
<table><tr><td>453
<table><tr><td>454
<table><tr><td>455
<table><tr><td>456
<table><tr><td>457
<table><tr><td>458
<table><tr><td>459
<table><tr><td>460
<table><tr><td>461
<table><tr><td>462
<table><tr><td>463
<table><tr><td>464
<table><tr><td>465
<table><tr><td>466
<table><tr><td>467
<table><tr><td>468
<table><tr><td>469
<table><tr><td>470
<table><tr><td>471
<table><tr><td>472
<table><tr><td>473
<table><tr><td>474
<table><tr><td>475
<table><tr><td>476
<table><tr><td>477
<table><tr><td>478
<table><tr><td>479
<table><tr><td>480
<table><tr><td>481
<table><tr><td>482
<table><tr><td>483
<table><tr><td>484
<table><tr><td>485
<table><tr><td>486
<table><tr><td>487
<table><tr><td>488
<table><tr><td>489
<table><tr><td>490
<table><tr><td>491
<table><tr><td>492
<table><tr><td>493
<table><tr><td>494
<table><tr><td>495
<table><tr><td>496
<table><tr><td>497
<table><tr><td>498
<table><tr><td>499
<table><tr><td>500
<table><tr><td>501
<table><tr><td>502
<table><tr><td>503
<table><tr><td>504
<table><tr><td>505
<table><tr><td>506
<table><tr><td>507
<table><tr><td>508
<table><tr><td>509
<table><tr><td>510
<table><tr><td>511
<table><tr><td>512
<table><tr><td>513
<table><tr><td>514
<table><tr><td>515
<table><tr><td>516
<table><tr><td>517
<table><tr><td>518
<table><tr><td>519
<table><tr><td>520
<table><tr><td>521
<table><tr><td>522
<table><tr><td>523
<table><tr><td>524
<table><tr><td>525
<table><tr><td>526
<table><tr><td>527
<table><tr><td>528
<table><tr><td>529
<table><tr><td>530
<table><tr><td>531
<table><tr><td>532
<table><tr><td>533
<table><tr><td>534
<table><tr><td>535
<table><tr><td>536
<table><tr><td>537
<table><tr><td>538
<table><tr><td>539
<table><tr><td>540
<table><tr><td>541
<table><tr><td>542
<table><tr><td>543
<table><tr><td>544
<table><tr><td>545
<table><tr><td>546
<table><tr><td>547
<table><tr><td>548
<table><tr><td>549
<table><tr><td>550
<table><tr><td>551
<table><tr><td>552
<table><tr><td>553
<table><tr><td>554
<table><tr><td>555
<table><tr><td>556
<table><tr><td>557
<table><tr><td>558
<table><tr><td>559
<table><tr><td>560
<table><tr><td>561
<table><tr><td>562
<table><tr><td>563
<table><tr><td>564
<table><tr><td>565
<table><tr><td>566
<table><tr><td>567
<table><tr><td>568
<table><tr><td>569
<table><tr><td>570
<table><tr><td>571
<table><tr><td>572
<table><tr><td>573
<table><tr><td>574
<table><tr><td>575
<table><tr><td>576
<table><tr><td>577
<table><tr><td>578
<table><tr><td>579
<table><tr><td>580
<table><tr><td>581
<table><tr><td>582
<table><tr><td>583
<table><tr><td>584
<table><tr><td>585
<table><tr><td>586
<table><tr><td>587
<table><tr><td>588
<table><tr><td>589
<table><tr><td>590
<table><tr><td>591
<table><tr><td>592
<table><tr><td>593
<table><tr><td>594
<table><tr><td>595
<table><tr><td>596
<table><tr><td>597
<table><tr><td>598
<table><tr><td>599
<table><tr><td>600
<table><tr><td>601
<table><tr><td>602
<table><tr><td>603
<table><tr><td>604
<table><tr><td>605
<table><tr><td>606
<table><tr><td>607
<table><tr><td>608
<table><tr><td>609
<table><tr><td>610
<table><tr><td>611
<table><tr><td>612
<table><tr><td>613
<table><tr><td>614
<table><tr><td>615
<table><tr><td>616
<table><tr><td>617
<table><tr><td>618
<table><tr><td>619
<table><tr><td>620
<table><tr><td>621
<table><tr><td>622
<table><tr><td>623
<table><tr><td>624
<table><tr><td>625
<table><tr><td>626
<table><tr><td>627
<table><tr><td>628
<table><tr><td>629
<table><tr><td>630
<table><tr><td>631
<table><tr><td>632
<table><tr><td>633
<table><tr><td>634
<table><tr><td>635
<table><tr><td>636
<table><tr><td>637
<table><tr><td>638
<table><tr><td>639
<table><tr><td>640
<table><tr><td>641
<table><tr><td>642
<table><tr><td>643
<table><tr><td>644
<table><tr><td>645
<table><tr><td>646
<table><tr><td>647
<table><tr><td>648
<table><tr><td>649
<table><tr><td>650
<table><tr><td>651
<table><tr><td>652
<table><tr><td>653
<table><tr><td>654
<table><tr><td>655
<table><tr><td>656
<table><tr><td>657
<table><tr><td>658
<table><tr><td>659
<table><tr><td>660
<table><tr><td>661
<table><tr><td>662
<table><tr><td>663
<table><tr><td>664
<table><tr><td>665
<table><tr><td>666
<table><tr><td>667
<table><tr><td>668
<table><tr><td>669
<table><tr><td>670
<table><tr><td>671
<table><tr><td>672
<table><tr><td>673
<table><tr><td>674
<table><tr><td>675
<table><tr><td>676
<table><tr><td>677
<table><tr><td>678
<table><tr><td>679
<table><tr><td>680
<table><tr><td>681
<table><tr><td>682
<table><tr><td>683
<table><tr><td>684
<table><tr><td>685
<table><tr><td>686
<table><tr><td>687
<table><tr><td>688
<table><tr><td>689
<table><tr><td>690
<table><tr><td>691
<table><tr><td>692
<table><tr><td>693
<table><tr><td>694
<table><tr><td>695
<table><tr><td>696
<table><tr><td>697
<table><tr><td>698
<table><tr><td>699
<table><tr><td>700
<table><tr><td>701
<table><tr><td>702
<table><tr><td>703
<table><tr><td>704
<table><tr><td>705
<table><tr><td>706
<table><tr><td>707
<table><tr><td>708
<table><tr><td>709
<table><tr><td>710
<table><tr><td>711
<table><tr><td>712
<table><tr><td>713
<table><tr><td>714
<table><tr><td>715
<table><tr><td>716
<table><tr><td>717
<table><tr><td>718
<table><tr><td>719
<table><tr><td>720
<table><tr><td>721
<table><tr><td>722
<table><tr><td>723
<table><tr><td>724
<table><tr><td>725
<table><tr><td>726
<table><tr><td>727
<table><tr><td>728
<table><tr><td>729
<table><tr><td>730
<table><tr><td>731
<table><tr><td>732
<table><tr><td>733
<table><tr><td>734
<table><tr><td>735
<table><tr><td>736
<table><tr><td>737
<table><tr><td>738
<table><tr><td>739
<table><tr><td>740
<table><tr><td>741
<table><tr><td>742
<table><tr><td>743
<table><tr><td>744
<table><tr><td>745
<table><tr><td>746
<table><tr><td>747
<table><tr><td>748
<table><tr><td>749
<table><tr><td>750
<table><tr><td>751
<table><tr><td>752
<table><tr><td>753
<table><tr><td>754
<table><tr><td>755
<table><tr><td>756
<table><tr><td>757
<table><tr><td>758
<table><tr><td>759
<table><tr><td>760
<table><tr><td>761
<table><tr><td>762
<table><tr><td>763
<table><tr><td>764
<table><tr><td>765
<table><tr><td>766
<table><tr><td>767
<table><tr><td>768
<table><tr><td>769
<table><tr><td>770
<table><tr><td>771
<table><tr><td>772
<table><tr><td>773
<table><tr><td>774
<table><tr><td>775
<table><tr><td>776
<table><tr><td>777
<table><tr><td>778
<table><tr><td>779
<table><tr><td>780
<table><tr><td>781
<table><tr><td>782
<table><tr><td>783
<table><tr><td>784
<table><tr><td>785
<table><tr><td>786
<table><tr><td>787
<table><tr><td>788
<table><tr><td>789
<table><tr><td>790
<table><tr><td>791
<table><tr><td>792
<table><tr><td>793
<table><tr><td>794
<table><tr><td>795
<table><tr><td>796
<table><tr><td>797
<table><tr><td>798
<table><tr><td>799
<table><tr><td>800
<table><tr><td>801
<table><tr><td>802
<table><tr><td>803
<table><tr><td>804
<table><tr><td>805
<table><tr><td>806
<table><tr><td>807
<table><tr><td>808
<table><tr><td>809
<table><tr><td>810
<table><tr><td>811
<table><tr><td>812
<table><tr><td>813
<table><tr><td>814
<table><tr><td>815
<table><tr><td>816
<table><tr><td>817
<table><tr><td>818
<table><tr><td>819
<table><tr><td>820
<table><tr><td>821
<table><tr><td>822
<table><tr><td>823
<table><tr><td>824
<table><tr><td>825
<table><tr><td>826
<table><tr><td>827
<table><tr><td>828
<table><tr><td>829
<table><tr><td>830
<table><tr><td>831
<table><tr><td>832
<table><tr><td>833
<table><tr><td>834
<table><tr><td>835
<table><tr><td>836
<table><tr><td>837
<table><tr><td>838
<table><tr><td>839
<table><tr><td>840
<table><tr><td>841
<table><tr><td>842
<table><tr><td>843
<table><tr><td>844
<table><tr><td>845
<table><tr><td>846
<table><tr><td>847
<table><tr><td>848
<table><tr><td>849
<table><tr><td>850
<table><tr><td>851
<table><tr><td>852
<table><tr><td>853
<table><tr><td>854
<table><tr><td>855
<table><tr><td>856
<table><tr><td>857
<table><tr><td>858
<table><tr><td>859
<table><tr><td>860
<table><tr><td>861
<table><tr><td>862
<table><tr><td>863
<table><tr><td>864
<table><tr><td>865
<table><tr><td>866
<table><tr><td>867
<table><tr><td>868
<table><tr><td>869
<table><tr><td>870
<table><tr><td>871
<table><tr><td>872
<table><tr><td>873
<table><tr><td>874
<table><tr><td>875
<table><tr><td>876
<table><tr><td>877
<table><tr><td>878
<table><tr><td>879
<table><tr><td>880
<table><tr><td>881
<table><tr><td>882
<table><tr><td>883
<table><tr><td>884
<table><tr><td>885
<table><tr><td>886
<table><tr><td>887
<table><tr><td>888
<table><tr><td>889
<table><tr><td>890
<table><tr><td>891
<table><tr><td>892
<table><tr><td>893
<table><tr><td>894
<table><tr><td>895
<table><tr><td>896
<table><tr><td>897
<table><tr><td>898
<table><tr><td>899
<table><tr><td>900
<table><tr><td>901
<table><tr><td>902
<table><tr><td>903
<table><tr><td>904
<table><tr><td>905
<table><tr><td>906
<table><tr><td>907
<table><tr><td>908
<table><tr><td>909
<table><tr><td>910
<table><tr><td>911
<table><tr><td>912
<table><tr><td>913
<table><tr><td>914
<table><tr><td>915
<table><tr><td>916
<table><tr><td>917
<table><tr><td>918
<table><tr><td>919
<table><tr><td>920
<table><tr><td>921
<table><tr><td>922
<table><tr><td>923
<table><tr><td>924
<table><tr><td>925
<table><tr><td>926
<table><tr><td>927
<table><tr><td>928
<table><tr><td>929
<table><tr><td>930
<table><tr><td>931
<table><tr><td>932
<table><tr><td>933
<table><tr><td>934
<table><tr><td>935
<table><tr><td>936
<table><tr><td>937
<table><tr><td>938
<table><tr><td>939
<table><tr><td>940
<table><tr><td>941
<table><tr><td>942
<table><tr><td>943
<table><tr><td>944
<table><tr><td>945
<table><tr><td>946
<table><tr><td>947
<table><tr><td>948
<table><tr><td>949
<table><tr><td>950
<table><tr><td>951
<table><tr><td>952
<table><tr><td>953
<table><tr><td>954
<table><tr><td>955
<table><tr><td>956
<table><tr><td>957
<table><tr><td>958
<table><tr><td>959
<table><tr><td>960
<table><tr><td>961
<table><tr><td>962
<table><tr><td>963
<table><tr><td>964
<table><tr><td>965
<table><tr><td>966
<table><tr><td>967
<table><tr><td>968
<table><tr><td>969
<table><tr><td>970
<table><tr><td>971
<table><tr><td>972
<table><tr><td>973
<table><tr><td>974
<table><tr><td>975
<table><tr><td>976
<table><tr><td>977
<table><tr><td>978
<table><tr><td>979
<table><tr><td>980
<table><tr><td>981
<table><tr><td>982
<table><tr><td>983
<table><tr><td>984
<table><tr><td>985
<table><tr><td>986
<table><tr><td>987
<table><tr><td>988
<table><tr><td>989
<table><tr><td>990
<table><tr><td>991
<table><tr><td>992
<table><tr><td>993
<table><tr><td>994
<table><tr><td>995
<table><tr><td>996
<table><tr><td>997
<table><tr><td>998
<table><tr><td>999
<table><tr><td>1000

SVG rendering error after update

Im collecting digital signatures, SVG path, with an iPad.
Signatures are viewed with a browser (Chrome) which have worked perfectly for years.
Suddenly it was not perfect, whitespace are added below and to the right of the signature and it messes up my tables. I traced this back to an update of Chrome. If I downgrade Chrome it works like a charm.
Confusing is that same rendering error appears in IE and Firefox! New standard? Anyone knows how to fix this?
Code:
<svg xmlns=http://www.w3.org/2000/svg version=1.1><g transform=scale(0.14,0.14)> <g fill=none><path stroke=black stroke-width=8 d='M100,24 L98,24 L94,22 L86,22 L74,23 L63,27 L54,33 L49,38 L46,47 L46,58 L53,70 L60,78 L67,87 L72,97 L76,106 L79,117 L80,126 L80,136 L79,145 L72,151 L63,155 L51,157 L42,157 L32,153 L23,145 L17,139 L15,135 L14,132 L14,126 L23,121 L36,119 M138,87 L134,92 L134,99 L134,111 L132,123 L131,132 L131,138 L131,142 L131,143 M148,33 L145,35 L145,37 L145,39 L145,41 L146,42 L147,43 L148,43 L148,41 L148,36 L148,34 L147,33 L145,33 L144,33 L144,40 M241,89 L236,87 L231,87 L221,88 L209,94 L200,98 L195,101 L192,107 L192,110 L192,117 L195,121 L202,126 L212,126 L216,126 L224,123 L230,108 L237,91 L244,76 L247,67 L247,64 L247,63 L247,64 L246,70 L246,77 L245,85 L243,97 L240,112 L236,121 L231,131 L226,139 L221,146 L213,152 L205,157 L193,161 L180,164 L166,165 L154,165 L146,160 L144,151 L145,135 L155,123 L167,114 M285,68 L282,76 L280,87 L277,103 L275,116 L274,125 L273,128 L273,131 L279,120 L285,101 L295,77 L303,67 L306,63 L307,63 L309,63 L311,71 L314,82 L319,100 L322,112 L324,124 L326,132 L326,138 L326,141 L326,144 L325,144 L324,140 M393,91 L388,90 L382,90 L376,90 L366,90 L357,93 L350,101 L344,111 L343,120 L345,129 L353,132 L368,132 L379,124 L386,110 L394,89 L397,77 L397,75 L397,77 L396,97 L396,116 L396,130 L396,143 L399,152 L401,157 L403,160 L406,160 L411,149 M439,32 L438,34 L438,43 L440,56 L440,70 L441,84 L441,98 L441,111 L441,124 L440,133 L440,140 L440,145 L438,149 L435,150 M414,64 L416,65 L424,67 L433,67 L443,69 L450,71 L455,73 L460,74 L464,77 L467,78 L470,80 M489,83 L490,89 L490,104 L489,121 L488,134 L488,145 L492,150 L498,154 L504,154 L512,149 L517,137 L519,123 L520,115 L520,109 L520,106 L520,101 L519,101 L518,101 M549,85 L548,87 L547,92 L545,103 L543,115 L542,123 L542,129 L541,132 L541,135 L540,126 L539,111 L539,97 L543,85 L547,79 L550,77 L552,76 L556,76 L562,79 L568,83 L574,89 L577,91 M573,103 L574,105 L579,106 L586,108 L593,109 L596,110 L598,110 L598,109 L597,104 L594,99 L591,94 L588,92 L586,90 L585,90 L584,90 L583,91 L581,102 L577,118 L576,131 L577,145 L582,155 L591,160 L601,163 L610,164 L620,161 '></g></svg>
Assuming this svg is part of a larger html page then you almost certainly need height and width attributes on the <svg> element. Try height="100%" width="100%"
Firefox has worked this way for years as it's what the specification says. Chrome has recently changed to be compatible with Firefox and the SVG specification.

Cache manifest chrome reload behavior

I'm using a dynamic cache manifest and when I reload the browser after the initial load, the browser doesn't pull certain assets.
Here's the generated cache:
CACHE MANIFEST
# version: 87175d3b8e20b642cd18319d55883e4e
CACHE:
http://www.neverwithout.net/crocker-wp/wp-content/uploads/2013/11/windwardpointe-logo1.png
../../themes/twentythirteen/rtl.css
../../themes/twentythirteen/screenshot.png
../../themes/twentythirteen/style.css
../../themes/twentythirteen/css/editor-style.css
../../themes/twentythirteen/css/ie.css
../../themes/twentythirteen/css/webfont/climacons-font.css
../../themes/twentythirteen/css/webfont/climacons-webfont.eot
../../themes/twentythirteen/css/webfont/climacons-webfont.svg
../../themes/twentythirteen/css/webfont/climacons-webfont.ttf
../../themes/twentythirteen/css/webfont/climacons-webfont.woff
../../themes/twentythirteen/css/webfont/Climacons.ttf
../../themes/twentythirteen/fonts/COPYING.txt
../../themes/twentythirteen/fonts/genericons-regular-webfont.eot
../../themes/twentythirteen/fonts/genericons-regular-webfont.svg
../../themes/twentythirteen/fonts/genericons-regular-webfont.ttf
../../themes/twentythirteen/fonts/genericons-regular-webfont.woff
../../themes/twentythirteen/fonts/genericons.css
../../themes/twentythirteen/fonts/LICENSE.txt
../../themes/twentythirteen/fonts/OpenSans-Bold-webfont.eot
../../themes/twentythirteen/fonts/OpenSans-Bold-webfont.svg
../../themes/twentythirteen/fonts/OpenSans-Bold-webfont.ttf
../../themes/twentythirteen/fonts/OpenSans-Bold-webfont.woff
../../themes/twentythirteen/fonts/OpenSans-BoldItalic-webfont.svg
../../themes/twentythirteen/fonts/OpenSans-BoldItalic-webfont.eot
../../themes/twentythirteen/fonts/OpenSans-BoldItalic-webfont.ttf
../../themes/twentythirteen/fonts/OpenSans-BoldItalic-webfont.woff
../../themes/twentythirteen/fonts/OpenSans-ExtraBold-webfont.eot
../../themes/twentythirteen/fonts/OpenSans-ExtraBold-webfont.svg
../../themes/twentythirteen/fonts/OpenSans-ExtraBold-webfont.ttf
../../themes/twentythirteen/fonts/OpenSans-ExtraBold-webfont.woff
../../themes/twentythirteen/fonts/OpenSans-ExtraBoldItalic-webfont.eot
../../themes/twentythirteen/fonts/OpenSans-ExtraBoldItalic-webfont.ttf
../../themes/twentythirteen/fonts/OpenSans-ExtraBoldItalic-webfont.svg
../../themes/twentythirteen/fonts/OpenSans-ExtraBoldItalic-webfont.woff
../../themes/twentythirteen/fonts/OpenSans-Italic-webfont.eot
../../themes/twentythirteen/fonts/OpenSans-Italic-webfont.svg
../../themes/twentythirteen/fonts/OpenSans-Italic-webfont.ttf
../../themes/twentythirteen/fonts/OpenSans-Light-webfont.eot
../../themes/twentythirteen/fonts/OpenSans-Italic-webfont.woff
../../themes/twentythirteen/fonts/OpenSans-Light-webfont.ttf
../../themes/twentythirteen/fonts/OpenSans-Light-webfont.svg
../../themes/twentythirteen/fonts/OpenSans-Light-webfont.woff
../../themes/twentythirteen/fonts/OpenSans-LightItalic-webfont.eot
../../themes/twentythirteen/fonts/OpenSans-LightItalic-webfont.svg
../../themes/twentythirteen/fonts/OpenSans-LightItalic-webfont.ttf
../../themes/twentythirteen/fonts/OpenSans-LightItalic-webfont.woff
../../themes/twentythirteen/fonts/OpenSans-Regular-webfont.eot
../../themes/twentythirteen/fonts/OpenSans-Regular-webfont.svg
../../themes/twentythirteen/fonts/OpenSans-Regular-webfont.ttf
../../themes/twentythirteen/fonts/OpenSans-Semibold-webfont.eot
../../themes/twentythirteen/fonts/OpenSans-Regular-webfont.woff
../../themes/twentythirteen/fonts/OpenSans-Semibold-webfont.svg
../../themes/twentythirteen/fonts/OpenSans-Semibold-webfont.ttf
../../themes/twentythirteen/fonts/OpenSans-Semibold-webfont.woff
../../themes/twentythirteen/fonts/OpenSans-SemiboldItalic-webfont.eot
../../themes/twentythirteen/fonts/OpenSans-SemiboldItalic-webfont.svg
../../themes/twentythirteen/fonts/OpenSans-SemiboldItalic-webfont.ttf
../../themes/twentythirteen/fonts/OpenSans-SemiboldItalic-webfont.woff
../../themes/twentythirteen/fonts/opensans_bold_macroman/OpenSans-Bold-demo.html
../../themes/twentythirteen/fonts/opensans_bold_macroman/stylesheet.css
../../themes/twentythirteen/fonts/opensans_bold_macroman/specimen_files/easytabs.js
../../themes/twentythirteen/fonts/opensans_bold_macroman/specimen_files/grid_12-825-55-15.css
../../themes/twentythirteen/fonts/opensans_bold_macroman/specimen_files/OpenSans-Bold-cleartype.png
../../themes/twentythirteen/fonts/opensans_bold_macroman/specimen_files/specimen_stylesheet.css
../../themes/twentythirteen/fonts/opensans_bolditalic_macroman/OpenSans-BoldItalic-demo.html
../../themes/twentythirteen/fonts/opensans_bolditalic_macroman/stylesheet.css
../../themes/twentythirteen/fonts/opensans_bolditalic_macroman/specimen_files/grid_12-825-55-15.css
../../themes/twentythirteen/fonts/opensans_bolditalic_macroman/specimen_files/easytabs.js
../../themes/twentythirteen/fonts/opensans_bolditalic_macroman/specimen_files/specimen_stylesheet.css
../../themes/twentythirteen/fonts/opensans_bolditalic_macroman/specimen_files/OpenSans-BoldItalic-cleartype.png
../../themes/twentythirteen/fonts/opensans_extrabold_macroman/OpenSans-ExtraBold-demo.html
../../themes/twentythirteen/fonts/opensans_extrabold_macroman/stylesheet.css
../../themes/twentythirteen/fonts/opensans_extrabold_macroman/specimen_files/easytabs.js
../../themes/twentythirteen/fonts/opensans_extrabold_macroman/specimen_files/grid_12-825-55-15.css
../../themes/twentythirteen/fonts/opensans_extrabold_macroman/specimen_files/OpenSans-ExtraBold-cleartype.png
../../themes/twentythirteen/fonts/opensans_extrabold_macroman/specimen_files/specimen_stylesheet.css
../../themes/twentythirteen/fonts/opensans_extrabolditalic_macroman/OpenSans-ExtraBoldItalic-demo.html
../../themes/twentythirteen/fonts/opensans_extrabolditalic_macroman/stylesheet.css
../../themes/twentythirteen/fonts/opensans_extrabolditalic_macroman/specimen_files/grid_12-825-55-15.css
../../themes/twentythirteen/fonts/opensans_extrabolditalic_macroman/specimen_files/easytabs.js
../../themes/twentythirteen/fonts/opensans_extrabolditalic_macroman/specimen_files/specimen_stylesheet.css
../../themes/twentythirteen/fonts/opensans_extrabolditalic_macroman/specimen_files/OpenSans-ExtraBoldItalic-cleartype.png
../../themes/twentythirteen/fonts/opensans_italic_macroman/OpenSans-Italic-demo.html
../../themes/twentythirteen/fonts/opensans_italic_macroman/stylesheet.css
../../themes/twentythirteen/fonts/opensans_italic_macroman/specimen_files/easytabs.js
../../themes/twentythirteen/fonts/opensans_italic_macroman/specimen_files/grid_12-825-55-15.css
../../themes/twentythirteen/fonts/opensans_italic_macroman/specimen_files/OpenSans-Italic-cleartype.png
../../themes/twentythirteen/fonts/opensans_italic_macroman/specimen_files/specimen_stylesheet.css
../../themes/twentythirteen/fonts/opensans_light_macroman/OpenSans-Light-demo.html
../../themes/twentythirteen/fonts/opensans_light_macroman/stylesheet.css
../../themes/twentythirteen/fonts/opensans_light_macroman/specimen_files/grid_12-825-55-15.css
../../themes/twentythirteen/fonts/opensans_light_macroman/specimen_files/easytabs.js
../../themes/twentythirteen/fonts/opensans_light_macroman/specimen_files/specimen_stylesheet.css
../../themes/twentythirteen/fonts/opensans_light_macroman/specimen_files/OpenSans-Light-cleartype.png
../../themes/twentythirteen/fonts/opensans_lightitalic_macroman/OpenSans-LightItalic-demo.html
../../themes/twentythirteen/fonts/opensans_lightitalic_macroman/stylesheet.css
../../themes/twentythirteen/fonts/opensans_lightitalic_macroman/specimen_files/easytabs.js
../../themes/twentythirteen/fonts/opensans_lightitalic_macroman/specimen_files/grid_12-825-55-15.css
../../themes/twentythirteen/fonts/opensans_lightitalic_macroman/specimen_files/OpenSans-LightItalic-cleartype.png
../../themes/twentythirteen/fonts/opensans_lightitalic_macroman/specimen_files/specimen_stylesheet.css
../../themes/twentythirteen/fonts/opensans_regular_macroman/OpenSans-Regular-demo.html
../../themes/twentythirteen/fonts/opensans_regular_macroman/stylesheet.css
../../themes/twentythirteen/fonts/opensans_regular_macroman/specimen_files/grid_12-825-55-15.css
../../themes/twentythirteen/fonts/opensans_regular_macroman/specimen_files/easytabs.js
../../themes/twentythirteen/fonts/opensans_regular_macroman/specimen_files/specimen_stylesheet.css
../../themes/twentythirteen/fonts/opensans_regular_macroman/specimen_files/OpenSans-Regular-cleartype.png
../../themes/twentythirteen/fonts/opensans_semibold_macroman/OpenSans-Semibold-demo.html
../../themes/twentythirteen/fonts/opensans_semibold_macroman/stylesheet.css
../../themes/twentythirteen/fonts/opensans_semibold_macroman/specimen_files/easytabs.js
../../themes/twentythirteen/fonts/opensans_semibold_macroman/specimen_files/grid_12-825-55-15.css
../../themes/twentythirteen/fonts/opensans_semibold_macroman/specimen_files/OpenSans-Semibold-cleartype.png
../../themes/twentythirteen/fonts/opensans_semibold_macroman/specimen_files/specimen_stylesheet.css
../../themes/twentythirteen/fonts/opensans_semibolditalic_macroman/OpenSans-SemiboldItalic-demo.html
../../themes/twentythirteen/fonts/opensans_semibolditalic_macroman/stylesheet.css
../../themes/twentythirteen/fonts/opensans_semibolditalic_macroman/specimen_files/grid_12-825-55-15.css
../../themes/twentythirteen/fonts/opensans_semibolditalic_macroman/specimen_files/easytabs.js
../../themes/twentythirteen/fonts/opensans_semibolditalic_macroman/specimen_files/specimen_stylesheet.css
../../themes/twentythirteen/fonts/opensans_semibolditalic_macroman/specimen_files/OpenSans-SemiboldItalic-cleartype.png
../../themes/twentythirteen/images/crocker-stream.png
../../themes/twentythirteen/images/dotted-line-2x.png
../../themes/twentythirteen/images/dotted-line-light-2x.png
../../themes/twentythirteen/images/dotted-line-light.png
../../themes/twentythirteen/images/search-icon-2x.png
../../themes/twentythirteen/images/dotted-line.png
../../themes/twentythirteen/images/search-icon.png
../../themes/twentythirteen/images/headers/circle-thumbnail.png
../../themes/twentythirteen/images/headers/circle.png
../../themes/twentythirteen/images/headers/diamond-thumbnail.png
../../themes/twentythirteen/images/headers/diamond.png
../../themes/twentythirteen/images/headers/star-thumbnail.png
../../themes/twentythirteen/images/headers/star.png
../../themes/twentythirteen/images/weather/0.svg
../../themes/twentythirteen/images/weather/1.svg
../../themes/twentythirteen/images/weather/10.svg
../../themes/twentythirteen/images/weather/11.svg
../../themes/twentythirteen/images/weather/12.svg
../../themes/twentythirteen/images/weather/13.svg
../../themes/twentythirteen/images/weather/14.svg
../../themes/twentythirteen/images/weather/15.svg
../../themes/twentythirteen/images/weather/16.svg
../../themes/twentythirteen/images/weather/17.svg
../../themes/twentythirteen/images/weather/18.svg
../../themes/twentythirteen/images/weather/2.svg
../../themes/twentythirteen/images/weather/20.svg
../../themes/twentythirteen/images/weather/21.svg
../../themes/twentythirteen/images/weather/22.svg
../../themes/twentythirteen/images/weather/23.svg
../../themes/twentythirteen/images/weather/24.svg
../../themes/twentythirteen/images/weather/25.svg
../../themes/twentythirteen/images/weather/26.svg
../../themes/twentythirteen/images/weather/27.svg
../../themes/twentythirteen/images/weather/28.svg
../../themes/twentythirteen/images/weather/29.svg
../../themes/twentythirteen/images/weather/3.svg
../../themes/twentythirteen/images/weather/30.svg
../../themes/twentythirteen/images/weather/31.svg
../../themes/twentythirteen/images/weather/32.svg
../../themes/twentythirteen/images/weather/33.svg
../../themes/twentythirteen/images/weather/34.svg
../../themes/twentythirteen/images/weather/35.svg
../../themes/twentythirteen/images/weather/36.svg
../../themes/twentythirteen/images/weather/37.svg
../../themes/twentythirteen/images/weather/38.svg
../../themes/twentythirteen/images/weather/39.svg
../../themes/twentythirteen/images/weather/4.svg
../../themes/twentythirteen/images/weather/40.svg
../../themes/twentythirteen/images/weather/41.svg
../../themes/twentythirteen/images/weather/42.svg
../../themes/twentythirteen/images/weather/43.svg
../../themes/twentythirteen/images/weather/44.svg
../../themes/twentythirteen/images/weather/45.svg
../../themes/twentythirteen/images/weather/46.svg
../../themes/twentythirteen/images/weather/47.svg
../../themes/twentythirteen/images/weather/5.svg
../../themes/twentythirteen/images/weather/6.svg
../../themes/twentythirteen/images/weather/7.svg
../../themes/twentythirteen/images/weather/9.svg
../../themes/twentythirteen/js/functions.js
../../themes/twentythirteen/js/html5.js
../../themes/twentythirteen/js/jquery.columnizer.js
../../themes/twentythirteen/js/jquery.nwrapper.js
../../themes/twentythirteen/js/moment.min.js
../../themes/twentythirteen/js/mustache.js
../../themes/twentythirteen/js/theme-customizer.js
../../themes/twentythirteen/js/whatweather-1.2.min.js
../../themes/twentythirteen/languages/twentythirteen.pot
After the cache checking event it fails to load these resources when I reload the browser:
I disabled google fonts so it wouldn't fail on that but it still failed on the others.
Provide the below lines (Network Section) after cache section
NETWORK:
NETWORK:
*
http://*
https://*
So, I figured out why it's not working. Some of the libraries don't have cache expiration values. So, notice all the files that fail have ?ver=##. I removed all the version numbers that are referenced and it worked!