diff --git a/public/react/build/asset-manifest.json b/public/react/build/asset-manifest.json index 1612c1167..94fc7c4b8 100644 --- a/public/react/build/asset-manifest.json +++ b/public/react/build/asset-manifest.json @@ -21,7 +21,7 @@ "./static/js/115.a12fef6d.chunk.js": "./static/js/115.a12fef6d.chunk.js", "./static/js/116.574db64b.chunk.js": "./static/js/116.574db64b.chunk.js", "./static/js/117.5acf3184.chunk.js": "./static/js/117.5acf3184.chunk.js", - "./static/js/118.99fc080c.chunk.js": "./static/js/118.99fc080c.chunk.js", + "./static/js/118.dcdaacee.chunk.js": "./static/js/118.dcdaacee.chunk.js", "./static/js/119.cb63073c.chunk.js": "./static/js/119.cb63073c.chunk.js", "./static/js/12.fb20694d.chunk.js": "./static/js/12.fb20694d.chunk.js", "./static/js/120.1df9dd9f.chunk.js": "./static/js/120.1df9dd9f.chunk.js", @@ -92,7 +92,7 @@ "./static/js/18.bc842084.chunk.js": "./static/js/18.bc842084.chunk.js", "./static/js/180.9c7901de.chunk.js": "./static/js/180.9c7901de.chunk.js", "./static/js/181.32ab74d1.chunk.js": "./static/js/181.32ab74d1.chunk.js", - "./static/js/182.7cc692e1.chunk.js": "./static/js/182.7cc692e1.chunk.js", + "./static/js/182.32355a80.chunk.js": "./static/js/182.32355a80.chunk.js", "./static/js/183.63280af3.chunk.js": "./static/js/183.63280af3.chunk.js", "./static/js/184.d0035463.chunk.js": "./static/js/184.d0035463.chunk.js", "./static/js/185.acfc5c9d.chunk.js": "./static/js/185.acfc5c9d.chunk.js", @@ -273,7 +273,7 @@ "./static/js/98.92e47c1c.chunk.js": "./static/js/98.92e47c1c.chunk.js", "./static/js/99.f1a59e21.chunk.js": "./static/js/99.f1a59e21.chunk.js", "main.css": "./static/css/main.c0718fb6.css", - "main.js": "./static/js/main.33d88119.js", + "main.js": "./static/js/main.92c53e22.js", "static/media/KaTeX_AMS-Regular.ttf": "static/media/KaTeX_AMS-Regular.aaf4eee9.ttf", "static/media/KaTeX_AMS-Regular.woff": "static/media/KaTeX_AMS-Regular.7f06b4e3.woff", "static/media/KaTeX_AMS-Regular.woff2": "static/media/KaTeX_AMS-Regular.e78e28b4.woff2", diff --git a/public/react/build/index.html b/public/react/build/index.html index 803cf83ea..39b5d33f2 100644 --- a/public/react/build/index.html +++ b/public/react/build/index.html @@ -24,7 +24,7 @@ _host = 'https://ali-cdn.educoder.net/react/build/' } document.write(' \ No newline at end of file diff --git a/public/react/build/service-worker.js b/public/react/build/service-worker.js index 9fb173c70..785abc6a6 100644 --- a/public/react/build/service-worker.js +++ b/public/react/build/service-worker.js @@ -1 +1,2 @@ -"use strict";var precacheConfig=[["/react/build/index.html","6e7a815ff2930bfc26e4b367834cffc4"],["/react/build/static/css/main.c0718fb6.css","c0718fb68992474b23fca7f01883885a"],["/react/build/static/js/0.32f86ba0.chunk.js","17993552cc174d23fa359dd061d3a3ee"],["/react/build/static/js/10.e6f0d5df.chunk.js","4a1441e71d80de3b0f8d8fcc7e0a1271"],["/react/build/static/js/100.8ee5edf4.chunk.js","2e9261544c26f00b64163f3a87a6bf40"],["/react/build/static/js/101.f4fe4e79.chunk.js","580b7ff8e37a62575163393b1460cbba"],["/react/build/static/js/102.69a7bc5c.chunk.js","d392d4b05d51f87a01e1c005c9e896c8"],["/react/build/static/js/103.152cfdea.chunk.js","7dad971383198c6dcdd7c2682e750aee"],["/react/build/static/js/104.7a114da6.chunk.js","5f51b22d8b956cd165eac803c86d8710"],["/react/build/static/js/105.1c077c1d.chunk.js","121ab27b3ee4c1da4d2717161b48da2a"],["/react/build/static/js/107.8c650167.chunk.js","3a4ea190939db635787eef372b6962ad"],["/react/build/static/js/108.a45e0b1e.chunk.js","8298c7431cfbb3139f02c9daf6c2a7aa"],["/react/build/static/js/109.41a33a1a.chunk.js","37c2ac2fa5cb68d190481516fd3c17f9"],["/react/build/static/js/11.272a0813.chunk.js","c29e982614bc9b7c0e90358fb273b01e"],["/react/build/static/js/110.057de435.chunk.js","80273c97b723fe5589265884ffde92e0"],["/react/build/static/js/112.7c9cd1c1.chunk.js","6a05d46378776c5104aaac54c12067c8"],["/react/build/static/js/113.fd49f1f1.chunk.js","b335dea7ffd066b948c77aebd411fa90"],["/react/build/static/js/114.c6a6e101.chunk.js","1ffd83eaac6ace231316807d0d9d2df1"],["/react/build/static/js/115.a12fef6d.chunk.js","ea12c42e625f80b1514b43c3a5f786ba"],["/react/build/static/js/117.5acf3184.chunk.js","4e91ff932ce1d16bb8aad0d4c8afd63b"],["/react/build/static/js/118.99fc080c.chunk.js","4a8aa2229eaf877772bd26cf89e62b21"],["/react/build/static/js/119.cb63073c.chunk.js","2a2b705cd5c47167e82f41cc74a0251c"],["/react/build/static/js/12.fb20694d.chunk.js","90938215f5180ddc4121f8ce809b25cc"],["/react/build/static/js/120.1df9dd9f.chunk.js","3488ec1e2aa407ea0e6e3361c7de4701"],["/react/build/static/js/121.3b8227c6.chunk.js","acec461debdb7c964e2777613a83ed59"],["/react/build/static/js/122.882e31f8.chunk.js","0bd4121035aae332b8928a5d3624e90d"],["/react/build/static/js/123.8c68d28a.chunk.js","686dde7aa20bdcfb311885bbd843df7f"],["/react/build/static/js/124.408ebb33.chunk.js","65117754e6f998d22d959fed32bb7147"],["/react/build/static/js/125.5a0075af.chunk.js","2b44c3dee41578456bb399e8c4bec4bf"],["/react/build/static/js/126.5f74fc9a.chunk.js","fda5e69b12dab6cf7dc55bd56013d285"],["/react/build/static/js/127.235b5862.chunk.js","55db34e9922156b5c7faafa8dbfeaeb9"],["/react/build/static/js/128.477c79f8.chunk.js","e822894b14e3d094212c18f970b3fce7"],["/react/build/static/js/129.1175e25e.chunk.js","e27328e4c0d3027239371edc682de1aa"],["/react/build/static/js/13.2a74a189.chunk.js","eb07e888ebc4d19e97760029e3dd8645"],["/react/build/static/js/130.5af2206c.chunk.js","4338025f7ebe47ee224a3f839819508c"],["/react/build/static/js/131.119512f3.chunk.js","16f391c43766a3384feba3de4e5eefe5"],["/react/build/static/js/132.36844213.chunk.js","ec8577cb1a23867c64e24a40914d3057"],["/react/build/static/js/133.7f7f7c40.chunk.js","146475ecdb37a9cb64ba3e431efb55d7"],["/react/build/static/js/134.0a954a4a.chunk.js","7d650c32112b2e7b584d5e50b85f3b13"],["/react/build/static/js/135.0338886b.chunk.js","350da69593cb93933ba88c7d1a4771d2"],["/react/build/static/js/136.9cd53ce0.chunk.js","e04c6a14816d29bce7a14635c11cef98"],["/react/build/static/js/137.689cbd5d.chunk.js","637c287b23ec3a0fd5a5f02e93acab06"],["/react/build/static/js/138.681f35ce.chunk.js","5ac682d6f946903b96527be265ef854e"],["/react/build/static/js/139.80419667.chunk.js","2032c4456f71017477764169360e8023"],["/react/build/static/js/14.3129051e.chunk.js","93fbe423723152369d0cdfd460e04080"],["/react/build/static/js/140.aee26025.chunk.js","5fada4b994bcbac7874488294398c90c"],["/react/build/static/js/141.09f4d1b2.chunk.js","b753237c55aeb22f0d2d57955d9d986c"],["/react/build/static/js/142.bcafddbd.chunk.js","1cc6152ca6ff2fa92dce9bce22cacd38"],["/react/build/static/js/143.cb69da0b.chunk.js","5bef7036b309d17fa4ab70eea50a3e34"],["/react/build/static/js/144.34ac3654.chunk.js","90a1a06ca6be703bea3870d12a004f2c"],["/react/build/static/js/145.f92c8ac0.chunk.js","7b580be54c8bee4f8caa15be91dedcb1"],["/react/build/static/js/146.8c09576f.chunk.js","f59690bbddbabb1a02045f85475c97a8"],["/react/build/static/js/147.b1b48fca.chunk.js","157a98c13e693c43b8739aa0646c0b28"],["/react/build/static/js/148.20eceec1.chunk.js","f0c1380118ae1677bf3f524d2d032ae4"],["/react/build/static/js/149.96790f46.chunk.js","065b42a2d1c8ec06f11cd1b879a505db"],["/react/build/static/js/15.044bdca2.chunk.js","6b77dff9d7cba9461f5ba3065c38cc27"],["/react/build/static/js/150.2d8568a9.chunk.js","12e19b191d439eda687cb6c0fdaf1582"],["/react/build/static/js/151.9b55bafe.chunk.js","6ea6ac257d0201c85f6d0af026e03f73"],["/react/build/static/js/152.235dc8d0.chunk.js","5f4d6b041047fb29f0389c8b6978c47d"],["/react/build/static/js/153.b8529acb.chunk.js","60f2642160a5bd6cc7420d2f85bf08fb"],["/react/build/static/js/154.6661c864.chunk.js","2571391b32702c6a274b6d98ffd2e647"],["/react/build/static/js/155.5cf9f404.chunk.js","042a1a1fa37358bfaabfcbbdfe40f60b"],["/react/build/static/js/156.4bfb8625.chunk.js","263d33a35803e1d091e7cfce05f16971"],["/react/build/static/js/157.d0788917.chunk.js","3c2c5b70fd301b677684dfb04abf0dd6"],["/react/build/static/js/158.fdaa8652.chunk.js","8c0c87390b2f4d8162c1a76b460e6d35"],["/react/build/static/js/159.31235414.chunk.js","18890375d11132f8bf0d9dd77794b509"],["/react/build/static/js/16.607025a2.chunk.js","4ab75c74867e00e22698f15f5c354291"],["/react/build/static/js/160.d9c39bd5.chunk.js","1b3d9dcd9f46357849187ee3189a7563"],["/react/build/static/js/161.1289bb4c.chunk.js","64f8c1851bb2592508c2fa3ed633fb42"],["/react/build/static/js/162.b476086f.chunk.js","f3f16a7618d7e4c576cb62200cdb3e7a"],["/react/build/static/js/163.76998e2c.chunk.js","1f622e9bc11e485cb8b137291bca1f67"],["/react/build/static/js/164.9c50c2f6.chunk.js","4cebc6a3ce329a00ebc6119a3950b536"],["/react/build/static/js/165.7c54d354.chunk.js","5ed4474b8945e82ec18e6769a51079f4"],["/react/build/static/js/166.f08d7d87.chunk.js","ea91fc182406eb6f3fa2ff1cb401d068"],["/react/build/static/js/167.7a30e1c2.chunk.js","734fb6da9349eea95758f47873baae36"],["/react/build/static/js/168.471f4346.chunk.js","53086536469b2d1e79fd97189f8b4147"],["/react/build/static/js/169.570f0555.chunk.js","86fc394df75fa8d40e22950035ed48b3"],["/react/build/static/js/17.f3a77daf.chunk.js","f771b8f6a727322c70c0f052b09668c2"],["/react/build/static/js/170.efb23b4c.chunk.js","1cf4c0e664e0a44a2f748696f1a2f0b6"],["/react/build/static/js/171.a04a7d6b.chunk.js","355fbf8dfa302e9c1c04cb109b01d97b"],["/react/build/static/js/172.3f0e7b46.chunk.js","817bbd01c9ed482b3fbf7cf34b94608b"],["/react/build/static/js/173.801a7006.chunk.js","7b6307d9db4795c1614f2c96e3299fa6"],["/react/build/static/js/174.3ce7c837.chunk.js","4f94863f9df1f190070f55ecb88021e3"],["/react/build/static/js/175.e718c801.chunk.js","1026d8356139cc33aa99ebb4eb0011ea"],["/react/build/static/js/176.9e226038.chunk.js","213e963a6f1534249aaf5bd9878cd2dd"],["/react/build/static/js/177.de58a2ab.chunk.js","2de0e7d24b2ac720b5f1aa10e3a024c8"],["/react/build/static/js/178.e41d6fc9.chunk.js","850fa03e924c65a2aeff980d562bb477"],["/react/build/static/js/179.d9a714d5.chunk.js","fb32c218b67713d55b1f5e8957efa691"],["/react/build/static/js/18.bc842084.chunk.js","7f3e576ed12358788430595ba2554fbe"],["/react/build/static/js/180.9c7901de.chunk.js","f99c6a809000038cc72a5ad61c2c1c75"],["/react/build/static/js/181.32ab74d1.chunk.js","8a29ec97a64dda10bb0a16adb65c5cde"],["/react/build/static/js/182.7cc692e1.chunk.js","e6afc6e09f360316403c5ade5e120be5"],["/react/build/static/js/183.63280af3.chunk.js","7a91091ec5ad6cf52ad562636b16c589"],["/react/build/static/js/184.d0035463.chunk.js","e1d449cf7032f7d41764577ea3049a43"],["/react/build/static/js/185.acfc5c9d.chunk.js","66fbffe97f8f20378306d07f951da31e"],["/react/build/static/js/186.6fbd2f8a.chunk.js","cd50ce1caff1774805705889ab5b78a7"],["/react/build/static/js/187.73a82b81.chunk.js","932bf74703f29ed603b850ac2e15f83c"],["/react/build/static/js/188.3f8d93ac.chunk.js","49776c1fe07c32224795ee204ef36fd4"],["/react/build/static/js/189.779864de.chunk.js","c67e97717221866746ef02d8f402dc8d"],["/react/build/static/js/19.9fb55eb5.chunk.js","dd3c48f10fb83c9b93afc2f6a058cdc5"],["/react/build/static/js/190.524ed7e4.chunk.js","b536cb1d349ba2ae56869797189a730e"],["/react/build/static/js/191.11223317.chunk.js","c31abada1f86b619c2b227be310d99e6"],["/react/build/static/js/192.1f0ecd8d.chunk.js","3af95e925ba9972993582d2122ba706b"],["/react/build/static/js/193.467554a4.chunk.js","8dac49f00ac675929c6d66fa14d0cd74"],["/react/build/static/js/194.85e01bc5.chunk.js","b979020820076550608d1291d648bb4a"],["/react/build/static/js/195.c3d92d8d.chunk.js","77ba1d3573c4cf02a3b09af2f9eaa878"],["/react/build/static/js/196.2bed9c77.chunk.js","3508f9f023679fafbe44acd0252cb69b"],["/react/build/static/js/197.73a75b07.chunk.js","ae2109f08e3592a68dde5b123221f958"],["/react/build/static/js/198.5b79a67a.chunk.js","8ac1883ad8f45c4c4b414fdf6c459293"],["/react/build/static/js/199.75daf23b.chunk.js","dc2353228da6d925bfaa6ae669cc3f63"],["/react/build/static/js/20.8e6c9998.chunk.js","b5c27193d136c8339b99f3805f0da3e3"],["/react/build/static/js/200.7bea6b93.chunk.js","514e9d0482b0fb0c5fbf49d4b9d28ff8"],["/react/build/static/js/201.887ac622.chunk.js","474dc22a0f046660101e039a915d7109"],["/react/build/static/js/202.0747f472.chunk.js","a37bd651a06af8048b141816465d5328"],["/react/build/static/js/203.319c605d.chunk.js","27fa0059e10353f59d149bfa0ee176cb"],["/react/build/static/js/204.b952bc90.chunk.js","cc82947cc9d6f7f14c56ffcf40ff2672"],["/react/build/static/js/205.74226ccb.chunk.js","e050c07a49817a78d00acd630eaa6805"],["/react/build/static/js/206.9a77ec55.chunk.js","24393c66e246808e670b28bcc090b721"],["/react/build/static/js/207.aa11546d.chunk.js","2c2f8ec6fdf9131e88a4f175c366ff12"],["/react/build/static/js/208.0311749a.chunk.js","5bcef560fbd386b6b283c44652097339"],["/react/build/static/js/209.f8673a70.chunk.js","a6c04c4eb703ad630e1d3e7232e19804"],["/react/build/static/js/21.397df705.chunk.js","fb9cf8157d1cf64fe00906bccb21939d"],["/react/build/static/js/210.e293a6c2.chunk.js","749a7dbb847bf98cb970120a506e56d5"],["/react/build/static/js/211.122a95b5.chunk.js","9e80b9984f88a12c258ed6bc7e1f8cd3"],["/react/build/static/js/212.7c7f2c09.chunk.js","c5b557b0a615f3162d200fb43c3ef422"],["/react/build/static/js/213.c2194024.chunk.js","5e131d87777ef447246443b7659c798a"],["/react/build/static/js/214.2abff5c6.chunk.js","21891d3b716dc417eabfff28deca8436"],["/react/build/static/js/215.ed2ba55f.chunk.js","d908280f85bf122f3eafce4293f7bcd1"],["/react/build/static/js/216.412b39ea.chunk.js","2d38aefa59fa94e66c28a4fed4f9577b"],["/react/build/static/js/217.bb69a91b.chunk.js","9aa8db7aa7d0ef8e85c7739a1c65f485"],["/react/build/static/js/218.959d2d92.chunk.js","cb03c05d6475fe97f4a3f46967bee5ab"],["/react/build/static/js/219.ea1571db.chunk.js","8a9f4e7fc381aaed82447f2b536e3a9e"],["/react/build/static/js/22.0f78393a.chunk.js","d8f7d08b71bf5af8543bcf6ea4940eb6"],["/react/build/static/js/220.476d3205.chunk.js","010d8edb872350af7a5b14e910d6d4f1"],["/react/build/static/js/221.70a965d5.chunk.js","18c7730cd4bc67617934901ce8331dad"],["/react/build/static/js/222.3ef33f8f.chunk.js","370efacacdd79fc10db386f5dbf5837e"],["/react/build/static/js/223.8d635e59.chunk.js","8ae155b20f4e67e97ad19d7a8ae25b04"],["/react/build/static/js/224.92df6615.chunk.js","77a9c1ee868f307040c480763914adb2"],["/react/build/static/js/225.42ebc3fc.chunk.js","ff8e8b7b19ea04b4e032c7c63100468f"],["/react/build/static/js/226.009659c8.chunk.js","c2e4f0cb72fac5727ac5380989a69248"],["/react/build/static/js/227.1cd231d1.chunk.js","230f783fe3adb56c32b5b0630aeaa26b"],["/react/build/static/js/228.9c0969be.chunk.js","f4fa56c49041e26da8b8d14b81abae5c"],["/react/build/static/js/229.9150babf.chunk.js","f2bca0cf4859a40b16053aca9e0e005e"],["/react/build/static/js/23.f50ff0ed.chunk.js","8ad0dcf014f6e8337b2d7290c5ee14e1"],["/react/build/static/js/230.9bda9379.chunk.js","0e422a8971c2509305ca969b04281782"],["/react/build/static/js/231.8d16ba48.chunk.js","55f0d712373d4397d23feceb833db433"],["/react/build/static/js/232.ad4c8e76.chunk.js","7be715a00f1b5a69a0662e9b27126dd0"],["/react/build/static/js/233.46a6a290.chunk.js","22dc651fa6d12f2894edb3b61de2416e"],["/react/build/static/js/234.b38fe790.chunk.js","a7ec5a4c1395539dfe9edf5d9b8e07ec"],["/react/build/static/js/235.e026c583.chunk.js","b6797e082d0fe9b5872a3df63755f389"],["/react/build/static/js/236.51e02191.chunk.js","f5c8836ca3d07db0b9e3f697b3087160"],["/react/build/static/js/237.fc17182c.chunk.js","9c4191478ae7f6cda13f852f9237cf1b"],["/react/build/static/js/238.cf33826a.chunk.js","b54167b023c0eff8ae8582cf090d08e2"],["/react/build/static/js/239.6e3fd6a7.chunk.js","f049ec7f5ae4a4c5c64eea735c3a62d2"],["/react/build/static/js/24.34dfd496.chunk.js","b4b1543bcb2d2a642ed3c0a0571df5ce"],["/react/build/static/js/240.375a94a5.chunk.js","9df911e40a4a3435f29b6a79770db03a"],["/react/build/static/js/241.a4ad5668.chunk.js","4c50cf50ce1ac5fc1a83db96e5b18b5c"],["/react/build/static/js/242.3f703305.chunk.js","e3680a7e13c5ab3f6b39ef2d6eea3502"],["/react/build/static/js/243.0537446d.chunk.js","291df4d5ed792a89b46de263082f1268"],["/react/build/static/js/244.3b9fda4a.chunk.js","7a3583510b4984a5d5a943f769dcbe2c"],["/react/build/static/js/245.252c1f90.chunk.js","e2e201daed3adba14de7382771bad6c5"],["/react/build/static/js/246.95139bd1.chunk.js","80f1888e1dd3333ec28916b4961ad9b6"],["/react/build/static/js/247.67155b66.chunk.js","f69acffecd1512e10a350eefe9ae32cc"],["/react/build/static/js/248.15c9028d.chunk.js","3dedb253ebc7ec7c1a89c4fc70ca1223"],["/react/build/static/js/249.251f9a9c.chunk.js","296f2c847e0c279f209e30e93434f96f"],["/react/build/static/js/25.678451bf.chunk.js","793a082f516518e82b2d580b0d786cd2"],["/react/build/static/js/250.4d28c8c4.chunk.js","75783dc88056aedf9359d06fc9e441fa"],["/react/build/static/js/251.48dd3249.chunk.js","f4a7a97013033165409f1f91122a2f3b"],["/react/build/static/js/252.5cead067.chunk.js","dd74d20dfbd4d6680286ca512642521f"],["/react/build/static/js/253.a38088fa.chunk.js","77af501883061b8ae70031d2eb444029"],["/react/build/static/js/254.82920ffa.chunk.js","e06f13a17db73cad0f5e2caafea64708"],["/react/build/static/js/255.5ca9976c.chunk.js","4328bf57af67e1e9695e3cf967c1bb5a"],["/react/build/static/js/256.01157ff4.chunk.js","e3c16c6e6b592f968d2a2d56542e63e5"],["/react/build/static/js/257.53934360.chunk.js","9c98fe3d2e2c9f1e96aced117bc992c5"],["/react/build/static/js/258.41e7722d.chunk.js","75c74dec43cc1358a8bd1e153846615e"],["/react/build/static/js/259.bec5cf59.chunk.js","81324d1f14a36b4f40623554e77f80eb"],["/react/build/static/js/26.f5580503.chunk.js","d7e20b78e404bc9cb84a133e88e13517"],["/react/build/static/js/260.2008c623.chunk.js","3ffd677dcc924e1c3b2f8db867125045"],["/react/build/static/js/261.d2ddfd76.chunk.js","9b99bc0abbf7c0376d7b9a5be607eb22"],["/react/build/static/js/262.60bc5846.chunk.js","512fd717bf54269b60d95cca124dd8eb"],["/react/build/static/js/263.e9c72927.chunk.js","6f6025cdcf9daade8545dffa44010c48"],["/react/build/static/js/264.545e8a7f.chunk.js","dbfd6d600185deacccd434ae8c18ec1c"],["/react/build/static/js/265.af8eb09e.chunk.js","0f1dd4f07e1db3dc0d1545b74bf85f77"],["/react/build/static/js/266.2afc190b.chunk.js","a0df2407bc952341feb6744612863b74"],["/react/build/static/js/267.fb8fdd79.chunk.js","aebc2f7c2db475149ab40c0ac38ef558"],["/react/build/static/js/268.d16ddbae.chunk.js","8a33000968650d1b691d13ef66a09cbb"],["/react/build/static/js/269.69226c95.chunk.js","392557392978abd83a9a3333e4d05a8a"],["/react/build/static/js/27.fc19bbe9.chunk.js","486126ddb2596a128cf9a9088e5a5c53"],["/react/build/static/js/270.23c1612b.chunk.js","35aec4080bcc1231ce2722ba502093af"],["/react/build/static/js/271.8d6b6380.chunk.js","642a7cfa57b44fa30233feefb43e77fe"],["/react/build/static/js/272.745f6b8b.chunk.js","94f63be11a881577eac54e9921ddafbd"],["/react/build/static/js/28.d7556191.chunk.js","92f086d02f6ba058e8747d744c1c1068"],["/react/build/static/js/29.126bd10b.chunk.js","ed33e438f123df070a10c3bd573afc7b"],["/react/build/static/js/30.54f7104f.chunk.js","f3e22994d4ad6576290c2870e270e668"],["/react/build/static/js/31.37c141c0.chunk.js","54310c32e0cab55c02db2fe7fda34dfb"],["/react/build/static/js/32.fedb209c.chunk.js","95a3502ef4e8ecf820132cd71a077393"],["/react/build/static/js/33.100ad33d.chunk.js","9184891aafeece79684437791d24f7d7"],["/react/build/static/js/34.ad397283.chunk.js","5fa835c5e27bcfa662fc98462fec463c"],["/react/build/static/js/35.32a9f338.chunk.js","8fa118c3554ea6029f4228859ed6d07a"],["/react/build/static/js/36.cc9fadd2.chunk.js","3de5211aceccbe0a5d9aa64a58ebe916"],["/react/build/static/js/37.f93f5966.chunk.js","640820afec6098426414398463a298dd"],["/react/build/static/js/38.9a288fc5.chunk.js","faf9c65654a1727c6f27b40d5ed7533e"],["/react/build/static/js/41.ec116e1a.chunk.js","2599df613bdf0db51a6ff82e4ccc26b1"],["/react/build/static/js/42.dbcf1df2.chunk.js","26a4953b5165220e9f7e4d09b6589a1e"],["/react/build/static/js/43.4cdbff5f.chunk.js","cef408c097d48e0e6f87a67802c08760"],["/react/build/static/js/44.9be18220.chunk.js","435df5a9833419ec6648fcd5927024fc"],["/react/build/static/js/45.7b58fdd3.chunk.js","f397216bffbc4ce7acd260fb39a4b6d6"],["/react/build/static/js/46.c1e7062a.chunk.js","bf8536fdcfe10eb7c1c4c1c7d5b15c85"],["/react/build/static/js/47.9301a210.chunk.js","0fc5614fa1b6eab42175836da289648d"],["/react/build/static/js/48.5417c295.chunk.js","fd6bb6767a0b2f554aa2764951cf4aa6"],["/react/build/static/js/49.a66e9054.chunk.js","6d0dbd9436e508e0d8db77fe3a85125d"],["/react/build/static/js/50.49a23628.chunk.js","61b8bbb1dbe8b33160a343e62ae41b8d"],["/react/build/static/js/51.4eb1ce58.chunk.js","5524e6d1e2e96a6cf5646ed7a8c85958"],["/react/build/static/js/58.66e239b0.chunk.js","c4969ffcdcf30437dd757d808e675e69"],["/react/build/static/js/59.3a9ddb68.chunk.js","b706349f99f9b1c9cb15649e33e42b51"],["/react/build/static/js/63.621172ab.chunk.js","c532da1f8245d6f526998a9dd544b24a"],["/react/build/static/js/64.f5fc0f9f.chunk.js","09339f86a17ec50996ec3005932ffbfc"],["/react/build/static/js/65.1829b1a8.chunk.js","733b71106853a7ec9f56e2c0f7c30c7e"],["/react/build/static/js/66.5911351a.chunk.js","bd42836c41e2f8e253513e696bf420f2"],["/react/build/static/js/69.225cc0f5.chunk.js","344a7cdd760dc1b633c1367adb480ee2"],["/react/build/static/js/70.adb8d0da.chunk.js","0e1515b4ac63d6fd21b48887b8b59cc0"],["/react/build/static/js/71.ceb703db.chunk.js","2434d39444324298b93f1c1ebc21ef0a"],["/react/build/static/js/72.2ffeb57f.chunk.js","fdecf41848c2fc797b222a7357472a9e"],["/react/build/static/js/73.a81efe47.chunk.js","1baabb30f3c1ea89b48d414474e8440a"],["/react/build/static/js/74.cfa0f703.chunk.js","b4209d7c312b77e0e387f25a31ff9f41"],["/react/build/static/js/75.385cc133.chunk.js","53b789cc9aed871f09e4fbc38ecfce11"],["/react/build/static/js/76.5a64bd52.chunk.js","b5a8f7254c64d12659f02c6b0e282363"],["/react/build/static/js/77.c5d0b26c.chunk.js","ca4596958b304e25cf5c2f8e7b34051d"],["/react/build/static/js/78.2a0a496c.chunk.js","0d1a19a810f0b1f7b49ca81648b7477d"],["/react/build/static/js/79.de080f3a.chunk.js","c3c7fe4ccf17cd3ff5a6dcb8506b2687"],["/react/build/static/js/8.ead37a1b.chunk.js","d2922d4395b11b3e6f67f0c39165c0c3"],["/react/build/static/js/80.625007b9.chunk.js","ae205772c873dbb8d94ac34133692f34"],["/react/build/static/js/81.c2fc7f34.chunk.js","ad784c41262d775123ebbf575022f83c"],["/react/build/static/js/82.3f3fb911.chunk.js","4e8ceb5e92f5df437a6171351717f1bb"],["/react/build/static/js/84.06ff869b.chunk.js","7fe2c1d906e212d7a18014d7e7c0af6a"],["/react/build/static/js/85.87feec61.chunk.js","a4d6ec22e320408be7535743494bbec3"],["/react/build/static/js/86.91367549.chunk.js","d8e248aefe38e5e156fa0da05c765c3d"],["/react/build/static/js/87.36950761.chunk.js","45a9a180097623d8e758cff41bf49cf1"],["/react/build/static/js/88.4e63f179.chunk.js","710672709c292789bcce23b74a5494b5"],["/react/build/static/js/89.deb7ae8b.chunk.js","14a683b98ea5407566a55f1da7afb6ff"],["/react/build/static/js/9.212b659d.chunk.js","a99125801858a2a9b26a0d3bcac5c18b"],["/react/build/static/js/90.83b2bc91.chunk.js","f684102414d618edb009f575b932bce8"],["/react/build/static/js/91.297075b6.chunk.js","39418cede7331ea5cfa6337dc4bd823c"],["/react/build/static/js/92.ab737e6f.chunk.js","a291194b6ab3b722d7cde98667defb17"],["/react/build/static/js/93.f2bbfa4d.chunk.js","96aba2408581521efd816a1038d7d65f"],["/react/build/static/js/94.2baa6a4a.chunk.js","7dea473800ad2a65b532c171946f5068"],["/react/build/static/js/95.25205199.chunk.js","dc7adc6953b980f6cad16c16fa388778"],["/react/build/static/js/96.f58b38f5.chunk.js","12dd4087779a9ddb42e38bb91d3a5dd9"],["/react/build/static/js/97.250cea14.chunk.js","ae7c623e0cd2a59693078e2bea27e3a7"],["/react/build/static/js/98.92e47c1c.chunk.js","f5573d370dac59814d217c70c542c7b6"],["/react/build/static/js/99.f1a59e21.chunk.js","c5757d5a3d3947b05c1a298ea2ddbdf8"],["/react/build/static/media/KaTeX_AMS-Regular.7f06b4e3.woff","7f06b4e30317f784d61d26686aed0ab2"],["/react/build/static/media/KaTeX_AMS-Regular.aaf4eee9.ttf","aaf4eee9fba9907d61c3935e0b6a54ae"],["/react/build/static/media/KaTeX_AMS-Regular.e78e28b4.woff2","e78e28b4834954df047e4925e9dbf354"],["/react/build/static/media/KaTeX_Caligraphic-Bold.021dd4dc.ttf","021dd4dc61ee5f5cdf315f43b48c094b"],["/react/build/static/media/KaTeX_Caligraphic-Bold.1e802ca9.woff","1e802ca9dedc4ed4e3c6f645e4316128"],["/react/build/static/media/KaTeX_Caligraphic-Bold.4ec58bef.woff2","4ec58befa687e9752c3c91cd9bcf1bcb"],["/react/build/static/media/KaTeX_Caligraphic-Regular.7edb53b6.woff2","7edb53b6693d75b8a2232481eea1a52c"],["/react/build/static/media/KaTeX_Caligraphic-Regular.d3b46c3a.woff","d3b46c3a530116933081d9d74e3e9fe8"],["/react/build/static/media/KaTeX_Caligraphic-Regular.d49f2d55.ttf","d49f2d55ce4f40f982d8ba63d746fbf9"],["/react/build/static/media/KaTeX_Fraktur-Bold.a31e7cba.ttf","a31e7cba7b7221ebf1a2ae545fb306b2"],["/react/build/static/media/KaTeX_Fraktur-Bold.c4c8cab7.woff","c4c8cab7d5be97b2bb283e531c077355"],["/react/build/static/media/KaTeX_Fraktur-Bold.d5b59ec9.woff2","d5b59ec9764e10f4a82369ae29f3ac58"],["/react/build/static/media/KaTeX_Fraktur-Regular.32a5339e.woff2","32a5339eb809f381a7357ba56f82aab3"],["/react/build/static/media/KaTeX_Fraktur-Regular.a48dad4f.ttf","a48dad4f58c82e38a10da0ceebb86370"],["/react/build/static/media/KaTeX_Fraktur-Regular.b7d9c46b.woff","b7d9c46bff5d51da6209e355cc4a235d"],["/react/build/static/media/KaTeX_Main-Bold.22086eb5.woff","22086eb5d97009c3e99bcc1d16ce6865"],["/react/build/static/media/KaTeX_Main-Bold.8e1e01c4.woff2","8e1e01c4b1207c0a383d9a2b4f86e637"],["/react/build/static/media/KaTeX_Main-Bold.9ceff51b.ttf","9ceff51b3cb7ce6eb4e8efa8163a1472"],["/react/build/static/media/KaTeX_Main-BoldItalic.284a17fe.woff2","284a17fe5baf72ff8217d4c7e70c0f82"],["/react/build/static/media/KaTeX_Main-BoldItalic.4c57dbc4.woff","4c57dbc44bfff1fdf08a59cf556fdab3"],["/react/build/static/media/KaTeX_Main-BoldItalic.e8b44b99.ttf","e8b44b990516dab7937bf240fde8b46a"],["/react/build/static/media/KaTeX_Main-Italic.29c86397.ttf","29c86397e75cdcb3135af8295f1c2e28"],["/react/build/static/media/KaTeX_Main-Italic.99be0e10.woff","99be0e10c38cd42466e6fe1665ef9536"],["/react/build/static/media/KaTeX_Main-Italic.e533d5a2.woff2","e533d5a2506cf053cd671b335ec04dde"],["/react/build/static/media/KaTeX_Main-Regular.5c734d78.woff2","5c734d78610fa35282f3379f866707f2"],["/react/build/static/media/KaTeX_Main-Regular.5c94aef4.ttf","5c94aef490324b0925dbe5f643e8fd04"],["/react/build/static/media/KaTeX_Main-Regular.b741441f.woff","b741441f6d71014d0453ca3ebc884dd4"],["/react/build/static/media/KaTeX_Math-BoldItalic.9a2834a9.ttf","9a2834a9ff8ab411153571e0e55ac693"],["/react/build/static/media/KaTeX_Math-BoldItalic.b13731ef.woff","b13731ef4e2bfc3d8d859271e39550fc"],["/react/build/static/media/KaTeX_Math-BoldItalic.d747bd1e.woff2","d747bd1e7a6a43864285edd73dcde253"],["/react/build/static/media/KaTeX_Math-Italic.291e76b8.ttf","291e76b8871b84560701bd29f9d1dcc7"],["/react/build/static/media/KaTeX_Math-Italic.4ad08b82.woff2","4ad08b826b8065e1eab85324d726538c"],["/react/build/static/media/KaTeX_Math-Italic.f0303906.woff","f0303906c2a67ac63bf1e8ccd638a89e"],["/react/build/static/media/KaTeX_SansSerif-Bold.3fb41955.woff","3fb419559955e3ce75619f1a5e8c6c84"],["/react/build/static/media/KaTeX_SansSerif-Bold.6e0830be.woff2","6e0830bee40435e72165345e0682fbfc"],["/react/build/static/media/KaTeX_SansSerif-Bold.7dc027cb.ttf","7dc027cba9f7b11ec92af4a311372a85"],["/react/build/static/media/KaTeX_SansSerif-Italic.4059868e.ttf","4059868e460d2d2e6be18e180d20c43d"],["/react/build/static/media/KaTeX_SansSerif-Italic.727a9b0d.woff","727a9b0d97d72d2fc0228fe4e07fb4d8"],["/react/build/static/media/KaTeX_SansSerif-Italic.fba01c9c.woff2","fba01c9c6fb2866a0f95bcacb2c187a5"],["/react/build/static/media/KaTeX_SansSerif-Regular.2555754a.woff","2555754a67062cac3a0913b715ab982f"],["/react/build/static/media/KaTeX_SansSerif-Regular.5c58d168.ttf","5c58d168c0b66d2c32234a6718e74dfb"],["/react/build/static/media/KaTeX_SansSerif-Regular.d929cd67.woff2","d929cd671b19f0cfea55b6200fb47461"],["/react/build/static/media/KaTeX_Script-Regular.755e2491.woff2","755e2491f13b5269f0afd5a56f7aa692"],["/react/build/static/media/KaTeX_Script-Regular.d12ea9ef.ttf","d12ea9efb375f9dc331f562e69892638"],["/react/build/static/media/KaTeX_Script-Regular.d524c9a5.woff","d524c9a5b62a17f98f4a97af37fea735"],["/react/build/static/media/KaTeX_Size1-Regular.048c39cb.woff2","048c39cba4dfb0460682a45e84548e4b"],["/react/build/static/media/KaTeX_Size1-Regular.08b5f00e.woff","08b5f00e7140f7a10e62c8e2484dfa5a"],["/react/build/static/media/KaTeX_Size1-Regular.7342d45b.ttf","7342d45b052c3a2abc21049959fbab7f"],["/react/build/static/media/KaTeX_Size2-Regular.81d6b8d5.woff2","81d6b8d5ca77d63d5033d6991549a659"],["/react/build/static/media/KaTeX_Size2-Regular.af24b0e4.woff","af24b0e4b7e52656ca77914695c99930"],["/react/build/static/media/KaTeX_Size2-Regular.eb130dcc.ttf","eb130dcc661de766c999c60ba1525a88"],["/react/build/static/media/KaTeX_Size3-Regular.0d892640.woff","0d8926405d832a4b065e516bd385d812"],["/react/build/static/media/KaTeX_Size3-Regular.7e02a40c.ttf","7e02a40c41e52dc3b2b6b197bbdf05ea"],["/react/build/static/media/KaTeX_Size3-Regular.b311ca09.woff2","b311ca09df2c89a10fbb914b5a053805"],["/react/build/static/media/KaTeX_Size4-Regular.68895bb8.woff","68895bb880a61a7fc019dbfaa5121bb4"],["/react/build/static/media/KaTeX_Size4-Regular.6a3255df.woff2","6a3255dfc1ba41c46e7e807f8ab16c49"],["/react/build/static/media/KaTeX_Size4-Regular.ad767252.ttf","ad7672524b64b730dfd176140a8945cb"],["/react/build/static/media/KaTeX_Typewriter-Regular.25702356.ttf","257023560753aeb0b89b7e434d3da17f"],["/react/build/static/media/KaTeX_Typewriter-Regular.3fe216d2.woff","3fe216d2a5f736c560cde71984554b64"],["/react/build/static/media/KaTeX_Typewriter-Regular.6cc31ea5.woff2","6cc31ea5c223c88705a13727a71417fa"],["/react/build/static/media/auth.43f1c749.png","43f1c7490f28c59e28637c7db9318878"],["/react/build/static/media/banner_list.ad510bee.png","ad510bee30a694aaedd0e2a96442ffe4"],["/react/build/static/media/banner_sub.c6034810.png","c6034810c9bd0d58dfee1ccf66f2b592"],["/react/build/static/media/beian.d0289dc0.png","d0289dc0a46fc5b15b3363ffa78cf6c7"],["/react/build/static/media/beijintulogontwo.245dc9e1.png","245dc9e1ed09d34f605c2d5799ee3327"],["/react/build/static/media/bg.88a774b5.jpg","88a774b50bcc4fcb43abbe7ca5d34886"],["/react/build/static/media/firefox_icon.cfd87a8f.png","cfd87a8f62ae37a34dab9f4b5c79b168"],["/react/build/static/media/guihome1.eca5276e.png","eca5276e17b07d59b37f161cf1ab7b3a"],["/react/build/static/media/guihome2.c65f40bf.jpg","c65f40bff07ed7c4e1d9abca9d77358c"],["/react/build/static/media/guihome3.0e1dc34b.jpg","0e1dc34b920481e8bc1bb1954eada1f1"],["/react/build/static/media/guihome4.6cc0d72b.jpg","6cc0d72b6f3f8cf8dedce533b9083810"],["/react/build/static/media/guihome5.1ac2c872.jpg","1ac2c8722fe3be81805dcc16df845ffb"],["/react/build/static/media/guihome6.7fc4fe9d.jpg","7fc4fe9d191f769592826b692fbf0560"],["/react/build/static/media/internet-explorer@2x.f122e0ab.png","f122e0abfbe49c051dba0e2d7f3d00f5"],["/react/build/static/media/job.b2881c7d.png","b2881c7d0317f7109101f3db1bcae775"],["/react/build/static/media/logo.c72d4a3b.svg","c72d4a3ba95e0b700fae9febca0e3200"],["/react/build/static/media/match_ad.4e957369.jpg","4e957369790f079662eb2dca03ece6be"],["/react/build/static/media/message.e7922cf2.svg","e7922cf2a56f9b54e44709e40626460b"],["/react/build/static/media/messagegrey.80d0b058.svg","80d0b0580c10b5e7fc571c3064a991c5"],["/react/build/static/media/mytc.4ef5faf4.png","4ef5faf4ec6fdee6a4909d34b9a1a171"],["/react/build/static/media/oj_banner.25ca233e.jpg","25ca233e22299a2a1e2f577eed32e745"],["/react/build/static/media/passall.46817e26.png","46817e2696bbb2ac4bf0e5bc4e8b101e"],["/react/build/static/media/passpart.4aaf3e6b.png","4aaf3e6b4667dc531eee7f4e5f807d70"],["/react/build/static/media/rc-tree.776c7fe6.png","776c7fe67df0637005b1a1372066ed84"],["/react/build/static/media/skzbdx.01cb5862.png","01cb58627ee7981e0bcb65c8467d4975"],["/react/build/static/media/teach_ex.a415d7a9.jpg","a415d7a9bbc72fe5d3aafd002181cc09"]],cacheName="sw-precache-v3-sw-precache-webpack-plugin-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(c,a){var e=new URL(c);return"/"===e.pathname.slice(-1)&&(e.pathname+=a),e.toString()},cleanResponse=function(a){return a.redirected?("body"in a?Promise.resolve(a.body):a.blob()).then(function(c){return new Response(c,{headers:a.headers,status:a.status,statusText:a.statusText})}):Promise.resolve(a)},createCacheKey=function(c,a,e,d){var t=new URL(c);return d&&t.pathname.match(d)||(t.search+=(t.search?"&":"")+encodeURIComponent(a)+"="+encodeURIComponent(e)),t.toString()},isPathWhitelisted=function(c,a){if(0===c.length)return!0;var e=new URL(a).pathname;return c.some(function(c){return e.match(c)})},stripIgnoredUrlParameters=function(c,e){var a=new URL(c);return a.hash="",a.search=a.search.slice(1).split("&").map(function(c){return c.split("=")}).filter(function(a){return e.every(function(c){return!c.test(a[0])})}).map(function(c){return c.join("=")}).join("&"),a.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(c){var a=c[0],e=c[1],d=new URL(a,self.location),t=createCacheKey(d,hashParamName,e,/\.\w{8}\./);return[d.toString(),t]}));function setOfCachedUrls(c){return c.keys().then(function(c){return c.map(function(c){return c.url})}).then(function(c){return new Set(c)})}self.addEventListener("install",function(c){c.waitUntil(caches.open(cacheName).then(function(d){return setOfCachedUrls(d).then(function(e){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(a){if(!e.has(a)){var c=new Request(a,{credentials:"same-origin"});return fetch(c).then(function(c){if(!c.ok)throw new Error("Request for "+a+" returned a response with status "+c.status);return cleanResponse(c).then(function(c){return d.put(a,c)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(c){var e=new Set(urlsToCacheKeys.values());c.waitUntil(caches.open(cacheName).then(function(a){return a.keys().then(function(c){return Promise.all(c.map(function(c){if(!e.has(c.url))return a.delete(c)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(a){if("GET"===a.request.method){var c,e=stripIgnoredUrlParameters(a.request.url,ignoreUrlParametersMatching),d="index.html";(c=urlsToCacheKeys.has(e))||(e=addDirectoryIndex(e,d),c=urlsToCacheKeys.has(e));var t="/index.html";!c&&"navigate"===a.request.mode&&isPathWhitelisted(["^(?!\\/__).*"],a.request.url)&&(e=new URL(t,self.location).toString(),c=urlsToCacheKeys.has(e)),c&&a.respondWith(caches.open(cacheName).then(function(c){return c.match(urlsToCacheKeys.get(e)).then(function(c){if(c)return c;throw Error("The cached response that was expected is missing.")})}).catch(function(c){return console.warn('Couldn\'t serve response for "%s" from cache: %O',a.request.url,c),fetch(a.request)}))}}); \ No newline at end of file +"use strict";var precacheConfig=[["/react/build/index.html","59b50b8a4f1511e7b447d3aef085fd61"],["/react/build/static/css/main.c0718fb6.css","c0718fb68992474b23fca7f01883885a"],["/react/build/static/js/0.32f86ba0.chunk.js","17993552cc174d23fa359dd061d3a3ee"],["/react/build/static/js/10.e6f0d5df.chunk.js","4a1441e71d80de3b0f8d8fcc7e0a1271"],["/react/build/static/js/100.8ee5edf4.chunk.js","2e9261544c26f00b64163f3a87a6bf40"],["/react/build/static/js/101.f4fe4e79.chunk.js","580b7ff8e37a62575163393b1460cbba"],["/react/build/static/js/102.69a7bc5c.chunk.js","d392d4b05d51f87a01e1c005c9e896c8"],["/react/build/static/js/103.152cfdea.chunk.js","7dad971383198c6dcdd7c2682e750aee"],["/react/build/static/js/104.7a114da6.chunk.js","5f51b22d8b956cd165eac803c86d8710"],["/react/build/static/js/105.1c077c1d.chunk.js","121ab27b3ee4c1da4d2717161b48da2a"],["/react/build/static/js/107.8c650167.chunk.js","3a4ea190939db635787eef372b6962ad"],["/react/build/static/js/108.a45e0b1e.chunk.js","8298c7431cfbb3139f02c9daf6c2a7aa"],["/react/build/static/js/109.41a33a1a.chunk.js","37c2ac2fa5cb68d190481516fd3c17f9"],["/react/build/static/js/11.272a0813.chunk.js","c29e982614bc9b7c0e90358fb273b01e"],["/react/build/static/js/110.057de435.chunk.js","80273c97b723fe5589265884ffde92e0"],["/react/build/static/js/112.7c9cd1c1.chunk.js","6a05d46378776c5104aaac54c12067c8"],["/react/build/static/js/113.fd49f1f1.chunk.js","b335dea7ffd066b948c77aebd411fa90"],["/react/build/static/js/114.c6a6e101.chunk.js","1ffd83eaac6ace231316807d0d9d2df1"],["/react/build/static/js/115.a12fef6d.chunk.js","ea12c42e625f80b1514b43c3a5f786ba"],["/react/build/static/js/117.5acf3184.chunk.js","4e91ff932ce1d16bb8aad0d4c8afd63b"],["/react/build/static/js/118.dcdaacee.chunk.js","17050083e4c82bf759128bfbe245d349"],["/react/build/static/js/119.cb63073c.chunk.js","2a2b705cd5c47167e82f41cc74a0251c"],["/react/build/static/js/12.fb20694d.chunk.js","90938215f5180ddc4121f8ce809b25cc"],["/react/build/static/js/120.1df9dd9f.chunk.js","3488ec1e2aa407ea0e6e3361c7de4701"],["/react/build/static/js/121.3b8227c6.chunk.js","acec461debdb7c964e2777613a83ed59"],["/react/build/static/js/122.882e31f8.chunk.js","0bd4121035aae332b8928a5d3624e90d"],["/react/build/static/js/123.8c68d28a.chunk.js","686dde7aa20bdcfb311885bbd843df7f"],["/react/build/static/js/124.408ebb33.chunk.js","65117754e6f998d22d959fed32bb7147"],["/react/build/static/js/125.5a0075af.chunk.js","2b44c3dee41578456bb399e8c4bec4bf"],["/react/build/static/js/126.5f74fc9a.chunk.js","fda5e69b12dab6cf7dc55bd56013d285"],["/react/build/static/js/127.235b5862.chunk.js","55db34e9922156b5c7faafa8dbfeaeb9"],["/react/build/static/js/128.477c79f8.chunk.js","e822894b14e3d094212c18f970b3fce7"],["/react/build/static/js/129.1175e25e.chunk.js","e27328e4c0d3027239371edc682de1aa"],["/react/build/static/js/13.2a74a189.chunk.js","eb07e888ebc4d19e97760029e3dd8645"],["/react/build/static/js/130.5af2206c.chunk.js","4338025f7ebe47ee224a3f839819508c"],["/react/build/static/js/131.119512f3.chunk.js","16f391c43766a3384feba3de4e5eefe5"],["/react/build/static/js/132.36844213.chunk.js","ec8577cb1a23867c64e24a40914d3057"],["/react/build/static/js/133.7f7f7c40.chunk.js","146475ecdb37a9cb64ba3e431efb55d7"],["/react/build/static/js/134.0a954a4a.chunk.js","7d650c32112b2e7b584d5e50b85f3b13"],["/react/build/static/js/135.0338886b.chunk.js","350da69593cb93933ba88c7d1a4771d2"],["/react/build/static/js/136.9cd53ce0.chunk.js","e04c6a14816d29bce7a14635c11cef98"],["/react/build/static/js/137.689cbd5d.chunk.js","637c287b23ec3a0fd5a5f02e93acab06"],["/react/build/static/js/138.681f35ce.chunk.js","5ac682d6f946903b96527be265ef854e"],["/react/build/static/js/139.80419667.chunk.js","2032c4456f71017477764169360e8023"],["/react/build/static/js/14.3129051e.chunk.js","93fbe423723152369d0cdfd460e04080"],["/react/build/static/js/140.aee26025.chunk.js","5fada4b994bcbac7874488294398c90c"],["/react/build/static/js/141.09f4d1b2.chunk.js","b753237c55aeb22f0d2d57955d9d986c"],["/react/build/static/js/142.bcafddbd.chunk.js","1cc6152ca6ff2fa92dce9bce22cacd38"],["/react/build/static/js/143.cb69da0b.chunk.js","5bef7036b309d17fa4ab70eea50a3e34"],["/react/build/static/js/144.34ac3654.chunk.js","90a1a06ca6be703bea3870d12a004f2c"],["/react/build/static/js/145.f92c8ac0.chunk.js","7b580be54c8bee4f8caa15be91dedcb1"],["/react/build/static/js/146.8c09576f.chunk.js","f59690bbddbabb1a02045f85475c97a8"],["/react/build/static/js/147.b1b48fca.chunk.js","157a98c13e693c43b8739aa0646c0b28"],["/react/build/static/js/148.20eceec1.chunk.js","f0c1380118ae1677bf3f524d2d032ae4"],["/react/build/static/js/149.96790f46.chunk.js","065b42a2d1c8ec06f11cd1b879a505db"],["/react/build/static/js/15.044bdca2.chunk.js","6b77dff9d7cba9461f5ba3065c38cc27"],["/react/build/static/js/150.2d8568a9.chunk.js","12e19b191d439eda687cb6c0fdaf1582"],["/react/build/static/js/151.9b55bafe.chunk.js","6ea6ac257d0201c85f6d0af026e03f73"],["/react/build/static/js/152.235dc8d0.chunk.js","5f4d6b041047fb29f0389c8b6978c47d"],["/react/build/static/js/153.b8529acb.chunk.js","60f2642160a5bd6cc7420d2f85bf08fb"],["/react/build/static/js/154.6661c864.chunk.js","2571391b32702c6a274b6d98ffd2e647"],["/react/build/static/js/155.5cf9f404.chunk.js","042a1a1fa37358bfaabfcbbdfe40f60b"],["/react/build/static/js/156.4bfb8625.chunk.js","263d33a35803e1d091e7cfce05f16971"],["/react/build/static/js/157.d0788917.chunk.js","3c2c5b70fd301b677684dfb04abf0dd6"],["/react/build/static/js/158.fdaa8652.chunk.js","8c0c87390b2f4d8162c1a76b460e6d35"],["/react/build/static/js/159.31235414.chunk.js","18890375d11132f8bf0d9dd77794b509"],["/react/build/static/js/16.607025a2.chunk.js","4ab75c74867e00e22698f15f5c354291"],["/react/build/static/js/160.d9c39bd5.chunk.js","1b3d9dcd9f46357849187ee3189a7563"],["/react/build/static/js/161.1289bb4c.chunk.js","64f8c1851bb2592508c2fa3ed633fb42"],["/react/build/static/js/162.b476086f.chunk.js","f3f16a7618d7e4c576cb62200cdb3e7a"],["/react/build/static/js/163.76998e2c.chunk.js","1f622e9bc11e485cb8b137291bca1f67"],["/react/build/static/js/164.9c50c2f6.chunk.js","4cebc6a3ce329a00ebc6119a3950b536"],["/react/build/static/js/165.7c54d354.chunk.js","5ed4474b8945e82ec18e6769a51079f4"],["/react/build/static/js/166.f08d7d87.chunk.js","ea91fc182406eb6f3fa2ff1cb401d068"],["/react/build/static/js/167.7a30e1c2.chunk.js","734fb6da9349eea95758f47873baae36"],["/react/build/static/js/168.471f4346.chunk.js","53086536469b2d1e79fd97189f8b4147"],["/react/build/static/js/169.570f0555.chunk.js","86fc394df75fa8d40e22950035ed48b3"],["/react/build/static/js/17.f3a77daf.chunk.js","f771b8f6a727322c70c0f052b09668c2"],["/react/build/static/js/170.efb23b4c.chunk.js","1cf4c0e664e0a44a2f748696f1a2f0b6"],["/react/build/static/js/171.a04a7d6b.chunk.js","355fbf8dfa302e9c1c04cb109b01d97b"],["/react/build/static/js/172.3f0e7b46.chunk.js","817bbd01c9ed482b3fbf7cf34b94608b"],["/react/build/static/js/173.801a7006.chunk.js","7b6307d9db4795c1614f2c96e3299fa6"],["/react/build/static/js/174.3ce7c837.chunk.js","4f94863f9df1f190070f55ecb88021e3"],["/react/build/static/js/175.e718c801.chunk.js","1026d8356139cc33aa99ebb4eb0011ea"],["/react/build/static/js/176.9e226038.chunk.js","213e963a6f1534249aaf5bd9878cd2dd"],["/react/build/static/js/177.de58a2ab.chunk.js","2de0e7d24b2ac720b5f1aa10e3a024c8"],["/react/build/static/js/178.e41d6fc9.chunk.js","850fa03e924c65a2aeff980d562bb477"],["/react/build/static/js/179.d9a714d5.chunk.js","fb32c218b67713d55b1f5e8957efa691"],["/react/build/static/js/18.bc842084.chunk.js","7f3e576ed12358788430595ba2554fbe"],["/react/build/static/js/180.9c7901de.chunk.js","f99c6a809000038cc72a5ad61c2c1c75"],["/react/build/static/js/181.32ab74d1.chunk.js","8a29ec97a64dda10bb0a16adb65c5cde"],["/react/build/static/js/182.32355a80.chunk.js","9beee29271054b4c89fa7a9236e6fd21"],["/react/build/static/js/183.63280af3.chunk.js","7a91091ec5ad6cf52ad562636b16c589"],["/react/build/static/js/184.d0035463.chunk.js","e1d449cf7032f7d41764577ea3049a43"],["/react/build/static/js/185.acfc5c9d.chunk.js","66fbffe97f8f20378306d07f951da31e"],["/react/build/static/js/186.6fbd2f8a.chunk.js","cd50ce1caff1774805705889ab5b78a7"],["/react/build/static/js/187.73a82b81.chunk.js","932bf74703f29ed603b850ac2e15f83c"],["/react/build/static/js/188.3f8d93ac.chunk.js","49776c1fe07c32224795ee204ef36fd4"],["/react/build/static/js/189.779864de.chunk.js","c67e97717221866746ef02d8f402dc8d"],["/react/build/static/js/19.9fb55eb5.chunk.js","dd3c48f10fb83c9b93afc2f6a058cdc5"],["/react/build/static/js/190.524ed7e4.chunk.js","b536cb1d349ba2ae56869797189a730e"],["/react/build/static/js/191.11223317.chunk.js","c31abada1f86b619c2b227be310d99e6"],["/react/build/static/js/192.1f0ecd8d.chunk.js","3af95e925ba9972993582d2122ba706b"],["/react/build/static/js/193.467554a4.chunk.js","8dac49f00ac675929c6d66fa14d0cd74"],["/react/build/static/js/194.85e01bc5.chunk.js","b979020820076550608d1291d648bb4a"],["/react/build/static/js/195.c3d92d8d.chunk.js","77ba1d3573c4cf02a3b09af2f9eaa878"],["/react/build/static/js/196.2bed9c77.chunk.js","3508f9f023679fafbe44acd0252cb69b"],["/react/build/static/js/197.73a75b07.chunk.js","ae2109f08e3592a68dde5b123221f958"],["/react/build/static/js/198.5b79a67a.chunk.js","8ac1883ad8f45c4c4b414fdf6c459293"],["/react/build/static/js/199.75daf23b.chunk.js","dc2353228da6d925bfaa6ae669cc3f63"],["/react/build/static/js/20.8e6c9998.chunk.js","b5c27193d136c8339b99f3805f0da3e3"],["/react/build/static/js/200.7bea6b93.chunk.js","514e9d0482b0fb0c5fbf49d4b9d28ff8"],["/react/build/static/js/201.887ac622.chunk.js","474dc22a0f046660101e039a915d7109"],["/react/build/static/js/202.0747f472.chunk.js","a37bd651a06af8048b141816465d5328"],["/react/build/static/js/203.319c605d.chunk.js","27fa0059e10353f59d149bfa0ee176cb"],["/react/build/static/js/204.b952bc90.chunk.js","cc82947cc9d6f7f14c56ffcf40ff2672"],["/react/build/static/js/205.74226ccb.chunk.js","e050c07a49817a78d00acd630eaa6805"],["/react/build/static/js/206.9a77ec55.chunk.js","24393c66e246808e670b28bcc090b721"],["/react/build/static/js/207.aa11546d.chunk.js","2c2f8ec6fdf9131e88a4f175c366ff12"],["/react/build/static/js/208.0311749a.chunk.js","5bcef560fbd386b6b283c44652097339"],["/react/build/static/js/209.f8673a70.chunk.js","a6c04c4eb703ad630e1d3e7232e19804"],["/react/build/static/js/21.397df705.chunk.js","fb9cf8157d1cf64fe00906bccb21939d"],["/react/build/static/js/210.e293a6c2.chunk.js","749a7dbb847bf98cb970120a506e56d5"],["/react/build/static/js/211.122a95b5.chunk.js","9e80b9984f88a12c258ed6bc7e1f8cd3"],["/react/build/static/js/212.7c7f2c09.chunk.js","c5b557b0a615f3162d200fb43c3ef422"],["/react/build/static/js/213.c2194024.chunk.js","5e131d87777ef447246443b7659c798a"],["/react/build/static/js/214.2abff5c6.chunk.js","21891d3b716dc417eabfff28deca8436"],["/react/build/static/js/215.ed2ba55f.chunk.js","d908280f85bf122f3eafce4293f7bcd1"],["/react/build/static/js/216.412b39ea.chunk.js","2d38aefa59fa94e66c28a4fed4f9577b"],["/react/build/static/js/217.bb69a91b.chunk.js","9aa8db7aa7d0ef8e85c7739a1c65f485"],["/react/build/static/js/218.959d2d92.chunk.js","cb03c05d6475fe97f4a3f46967bee5ab"],["/react/build/static/js/219.ea1571db.chunk.js","8a9f4e7fc381aaed82447f2b536e3a9e"],["/react/build/static/js/22.0f78393a.chunk.js","d8f7d08b71bf5af8543bcf6ea4940eb6"],["/react/build/static/js/220.476d3205.chunk.js","010d8edb872350af7a5b14e910d6d4f1"],["/react/build/static/js/221.70a965d5.chunk.js","18c7730cd4bc67617934901ce8331dad"],["/react/build/static/js/222.3ef33f8f.chunk.js","370efacacdd79fc10db386f5dbf5837e"],["/react/build/static/js/223.8d635e59.chunk.js","8ae155b20f4e67e97ad19d7a8ae25b04"],["/react/build/static/js/224.92df6615.chunk.js","77a9c1ee868f307040c480763914adb2"],["/react/build/static/js/225.42ebc3fc.chunk.js","ff8e8b7b19ea04b4e032c7c63100468f"],["/react/build/static/js/226.009659c8.chunk.js","c2e4f0cb72fac5727ac5380989a69248"],["/react/build/static/js/227.1cd231d1.chunk.js","230f783fe3adb56c32b5b0630aeaa26b"],["/react/build/static/js/228.9c0969be.chunk.js","f4fa56c49041e26da8b8d14b81abae5c"],["/react/build/static/js/229.9150babf.chunk.js","f2bca0cf4859a40b16053aca9e0e005e"],["/react/build/static/js/23.f50ff0ed.chunk.js","8ad0dcf014f6e8337b2d7290c5ee14e1"],["/react/build/static/js/230.9bda9379.chunk.js","0e422a8971c2509305ca969b04281782"],["/react/build/static/js/231.8d16ba48.chunk.js","55f0d712373d4397d23feceb833db433"],["/react/build/static/js/232.ad4c8e76.chunk.js","7be715a00f1b5a69a0662e9b27126dd0"],["/react/build/static/js/233.46a6a290.chunk.js","22dc651fa6d12f2894edb3b61de2416e"],["/react/build/static/js/234.b38fe790.chunk.js","a7ec5a4c1395539dfe9edf5d9b8e07ec"],["/react/build/static/js/235.e026c583.chunk.js","b6797e082d0fe9b5872a3df63755f389"],["/react/build/static/js/236.51e02191.chunk.js","f5c8836ca3d07db0b9e3f697b3087160"],["/react/build/static/js/237.fc17182c.chunk.js","9c4191478ae7f6cda13f852f9237cf1b"],["/react/build/static/js/238.cf33826a.chunk.js","b54167b023c0eff8ae8582cf090d08e2"],["/react/build/static/js/239.6e3fd6a7.chunk.js","f049ec7f5ae4a4c5c64eea735c3a62d2"],["/react/build/static/js/24.34dfd496.chunk.js","b4b1543bcb2d2a642ed3c0a0571df5ce"],["/react/build/static/js/240.375a94a5.chunk.js","9df911e40a4a3435f29b6a79770db03a"],["/react/build/static/js/241.a4ad5668.chunk.js","4c50cf50ce1ac5fc1a83db96e5b18b5c"],["/react/build/static/js/242.3f703305.chunk.js","e3680a7e13c5ab3f6b39ef2d6eea3502"],["/react/build/static/js/243.0537446d.chunk.js","291df4d5ed792a89b46de263082f1268"],["/react/build/static/js/244.3b9fda4a.chunk.js","7a3583510b4984a5d5a943f769dcbe2c"],["/react/build/static/js/245.252c1f90.chunk.js","e2e201daed3adba14de7382771bad6c5"],["/react/build/static/js/246.95139bd1.chunk.js","80f1888e1dd3333ec28916b4961ad9b6"],["/react/build/static/js/247.67155b66.chunk.js","f69acffecd1512e10a350eefe9ae32cc"],["/react/build/static/js/248.15c9028d.chunk.js","3dedb253ebc7ec7c1a89c4fc70ca1223"],["/react/build/static/js/249.251f9a9c.chunk.js","296f2c847e0c279f209e30e93434f96f"],["/react/build/static/js/25.678451bf.chunk.js","793a082f516518e82b2d580b0d786cd2"],["/react/build/static/js/250.4d28c8c4.chunk.js","75783dc88056aedf9359d06fc9e441fa"],["/react/build/static/js/251.48dd3249.chunk.js","f4a7a97013033165409f1f91122a2f3b"],["/react/build/static/js/252.5cead067.chunk.js","dd74d20dfbd4d6680286ca512642521f"],["/react/build/static/js/253.a38088fa.chunk.js","77af501883061b8ae70031d2eb444029"],["/react/build/static/js/254.82920ffa.chunk.js","e06f13a17db73cad0f5e2caafea64708"],["/react/build/static/js/255.5ca9976c.chunk.js","4328bf57af67e1e9695e3cf967c1bb5a"],["/react/build/static/js/256.01157ff4.chunk.js","e3c16c6e6b592f968d2a2d56542e63e5"],["/react/build/static/js/257.53934360.chunk.js","9c98fe3d2e2c9f1e96aced117bc992c5"],["/react/build/static/js/258.41e7722d.chunk.js","75c74dec43cc1358a8bd1e153846615e"],["/react/build/static/js/259.bec5cf59.chunk.js","81324d1f14a36b4f40623554e77f80eb"],["/react/build/static/js/26.f5580503.chunk.js","d7e20b78e404bc9cb84a133e88e13517"],["/react/build/static/js/260.2008c623.chunk.js","3ffd677dcc924e1c3b2f8db867125045"],["/react/build/static/js/261.d2ddfd76.chunk.js","9b99bc0abbf7c0376d7b9a5be607eb22"],["/react/build/static/js/262.60bc5846.chunk.js","512fd717bf54269b60d95cca124dd8eb"],["/react/build/static/js/263.e9c72927.chunk.js","6f6025cdcf9daade8545dffa44010c48"],["/react/build/static/js/264.545e8a7f.chunk.js","dbfd6d600185deacccd434ae8c18ec1c"],["/react/build/static/js/265.af8eb09e.chunk.js","0f1dd4f07e1db3dc0d1545b74bf85f77"],["/react/build/static/js/266.2afc190b.chunk.js","a0df2407bc952341feb6744612863b74"],["/react/build/static/js/267.fb8fdd79.chunk.js","aebc2f7c2db475149ab40c0ac38ef558"],["/react/build/static/js/268.d16ddbae.chunk.js","8a33000968650d1b691d13ef66a09cbb"],["/react/build/static/js/269.69226c95.chunk.js","392557392978abd83a9a3333e4d05a8a"],["/react/build/static/js/27.fc19bbe9.chunk.js","486126ddb2596a128cf9a9088e5a5c53"],["/react/build/static/js/270.23c1612b.chunk.js","35aec4080bcc1231ce2722ba502093af"],["/react/build/static/js/271.8d6b6380.chunk.js","642a7cfa57b44fa30233feefb43e77fe"],["/react/build/static/js/272.745f6b8b.chunk.js","94f63be11a881577eac54e9921ddafbd"],["/react/build/static/js/28.d7556191.chunk.js","92f086d02f6ba058e8747d744c1c1068"],["/react/build/static/js/29.126bd10b.chunk.js","ed33e438f123df070a10c3bd573afc7b"],["/react/build/static/js/30.54f7104f.chunk.js","f3e22994d4ad6576290c2870e270e668"],["/react/build/static/js/31.37c141c0.chunk.js","54310c32e0cab55c02db2fe7fda34dfb"],["/react/build/static/js/32.fedb209c.chunk.js","95a3502ef4e8ecf820132cd71a077393"],["/react/build/static/js/33.100ad33d.chunk.js","9184891aafeece79684437791d24f7d7"],["/react/build/static/js/34.ad397283.chunk.js","5fa835c5e27bcfa662fc98462fec463c"],["/react/build/static/js/35.32a9f338.chunk.js","8fa118c3554ea6029f4228859ed6d07a"],["/react/build/static/js/36.cc9fadd2.chunk.js","3de5211aceccbe0a5d9aa64a58ebe916"],["/react/build/static/js/37.f93f5966.chunk.js","640820afec6098426414398463a298dd"],["/react/build/static/js/38.9a288fc5.chunk.js","faf9c65654a1727c6f27b40d5ed7533e"],["/react/build/static/js/41.ec116e1a.chunk.js","2599df613bdf0db51a6ff82e4ccc26b1"],["/react/build/static/js/42.dbcf1df2.chunk.js","26a4953b5165220e9f7e4d09b6589a1e"],["/react/build/static/js/43.4cdbff5f.chunk.js","cef408c097d48e0e6f87a67802c08760"],["/react/build/static/js/44.9be18220.chunk.js","435df5a9833419ec6648fcd5927024fc"],["/react/build/static/js/45.7b58fdd3.chunk.js","f397216bffbc4ce7acd260fb39a4b6d6"],["/react/build/static/js/46.c1e7062a.chunk.js","bf8536fdcfe10eb7c1c4c1c7d5b15c85"],["/react/build/static/js/47.9301a210.chunk.js","0fc5614fa1b6eab42175836da289648d"],["/react/build/static/js/48.5417c295.chunk.js","fd6bb6767a0b2f554aa2764951cf4aa6"],["/react/build/static/js/49.a66e9054.chunk.js","6d0dbd9436e508e0d8db77fe3a85125d"],["/react/build/static/js/50.49a23628.chunk.js","61b8bbb1dbe8b33160a343e62ae41b8d"],["/react/build/static/js/51.4eb1ce58.chunk.js","5524e6d1e2e96a6cf5646ed7a8c85958"],["/react/build/static/js/58.66e239b0.chunk.js","c4969ffcdcf30437dd757d808e675e69"],["/react/build/static/js/59.3a9ddb68.chunk.js","b706349f99f9b1c9cb15649e33e42b51"],["/react/build/static/js/63.621172ab.chunk.js","c532da1f8245d6f526998a9dd544b24a"],["/react/build/static/js/64.f5fc0f9f.chunk.js","09339f86a17ec50996ec3005932ffbfc"],["/react/build/static/js/65.1829b1a8.chunk.js","733b71106853a7ec9f56e2c0f7c30c7e"],["/react/build/static/js/66.5911351a.chunk.js","bd42836c41e2f8e253513e696bf420f2"],["/react/build/static/js/69.225cc0f5.chunk.js","344a7cdd760dc1b633c1367adb480ee2"],["/react/build/static/js/70.adb8d0da.chunk.js","0e1515b4ac63d6fd21b48887b8b59cc0"],["/react/build/static/js/71.ceb703db.chunk.js","2434d39444324298b93f1c1ebc21ef0a"],["/react/build/static/js/72.2ffeb57f.chunk.js","fdecf41848c2fc797b222a7357472a9e"],["/react/build/static/js/73.a81efe47.chunk.js","1baabb30f3c1ea89b48d414474e8440a"],["/react/build/static/js/74.cfa0f703.chunk.js","b4209d7c312b77e0e387f25a31ff9f41"],["/react/build/static/js/75.385cc133.chunk.js","53b789cc9aed871f09e4fbc38ecfce11"],["/react/build/static/js/76.5a64bd52.chunk.js","b5a8f7254c64d12659f02c6b0e282363"],["/react/build/static/js/77.c5d0b26c.chunk.js","ca4596958b304e25cf5c2f8e7b34051d"],["/react/build/static/js/78.2a0a496c.chunk.js","0d1a19a810f0b1f7b49ca81648b7477d"],["/react/build/static/js/79.de080f3a.chunk.js","c3c7fe4ccf17cd3ff5a6dcb8506b2687"],["/react/build/static/js/8.ead37a1b.chunk.js","d2922d4395b11b3e6f67f0c39165c0c3"],["/react/build/static/js/80.625007b9.chunk.js","ae205772c873dbb8d94ac34133692f34"],["/react/build/static/js/81.c2fc7f34.chunk.js","ad784c41262d775123ebbf575022f83c"],["/react/build/static/js/82.3f3fb911.chunk.js","4e8ceb5e92f5df437a6171351717f1bb"],["/react/build/static/js/84.06ff869b.chunk.js","7fe2c1d906e212d7a18014d7e7c0af6a"],["/react/build/static/js/85.87feec61.chunk.js","a4d6ec22e320408be7535743494bbec3"],["/react/build/static/js/86.91367549.chunk.js","d8e248aefe38e5e156fa0da05c765c3d"],["/react/build/static/js/87.36950761.chunk.js","45a9a180097623d8e758cff41bf49cf1"],["/react/build/static/js/88.4e63f179.chunk.js","710672709c292789bcce23b74a5494b5"],["/react/build/static/js/89.deb7ae8b.chunk.js","14a683b98ea5407566a55f1da7afb6ff"],["/react/build/static/js/9.212b659d.chunk.js","a99125801858a2a9b26a0d3bcac5c18b"],["/react/build/static/js/90.83b2bc91.chunk.js","f684102414d618edb009f575b932bce8"],["/react/build/static/js/91.297075b6.chunk.js","39418cede7331ea5cfa6337dc4bd823c"],["/react/build/static/js/92.ab737e6f.chunk.js","a291194b6ab3b722d7cde98667defb17"],["/react/build/static/js/93.f2bbfa4d.chunk.js","96aba2408581521efd816a1038d7d65f"],["/react/build/static/js/94.2baa6a4a.chunk.js","7dea473800ad2a65b532c171946f5068"],["/react/build/static/js/95.25205199.chunk.js","dc7adc6953b980f6cad16c16fa388778"],["/react/build/static/js/96.f58b38f5.chunk.js","12dd4087779a9ddb42e38bb91d3a5dd9"],["/react/build/static/js/97.250cea14.chunk.js","ae7c623e0cd2a59693078e2bea27e3a7"],["/react/build/static/js/98.92e47c1c.chunk.js","f5573d370dac59814d217c70c542c7b6"],["/react/build/static/js/99.f1a59e21.chunk.js","c5757d5a3d3947b05c1a298ea2ddbdf8"],["/react/build/static/media/KaTeX_AMS-Regular.7f06b4e3.woff","7f06b4e30317f784d61d26686aed0ab2"],["/react/build/static/media/KaTeX_AMS-Regular.aaf4eee9.ttf","aaf4eee9fba9907d61c3935e0b6a54ae"],["/react/build/static/media/KaTeX_AMS-Regular.e78e28b4.woff2","e78e28b4834954df047e4925e9dbf354"],["/react/build/static/media/KaTeX_Caligraphic-Bold.021dd4dc.ttf","021dd4dc61ee5f5cdf315f43b48c094b"],["/react/build/static/media/KaTeX_Caligraphic-Bold.1e802ca9.woff","1e802ca9dedc4ed4e3c6f645e4316128"],["/react/build/static/media/KaTeX_Caligraphic-Bold.4ec58bef.woff2","4ec58befa687e9752c3c91cd9bcf1bcb"],["/react/build/static/media/KaTeX_Caligraphic-Regular.7edb53b6.woff2","7edb53b6693d75b8a2232481eea1a52c"],["/react/build/static/media/KaTeX_Caligraphic-Regular.d3b46c3a.woff","d3b46c3a530116933081d9d74e3e9fe8"],["/react/build/static/media/KaTeX_Caligraphic-Regular.d49f2d55.ttf","d49f2d55ce4f40f982d8ba63d746fbf9"],["/react/build/static/media/KaTeX_Fraktur-Bold.a31e7cba.ttf","a31e7cba7b7221ebf1a2ae545fb306b2"],["/react/build/static/media/KaTeX_Fraktur-Bold.c4c8cab7.woff","c4c8cab7d5be97b2bb283e531c077355"],["/react/build/static/media/KaTeX_Fraktur-Bold.d5b59ec9.woff2","d5b59ec9764e10f4a82369ae29f3ac58"],["/react/build/static/media/KaTeX_Fraktur-Regular.32a5339e.woff2","32a5339eb809f381a7357ba56f82aab3"],["/react/build/static/media/KaTeX_Fraktur-Regular.a48dad4f.ttf","a48dad4f58c82e38a10da0ceebb86370"],["/react/build/static/media/KaTeX_Fraktur-Regular.b7d9c46b.woff","b7d9c46bff5d51da6209e355cc4a235d"],["/react/build/static/media/KaTeX_Main-Bold.22086eb5.woff","22086eb5d97009c3e99bcc1d16ce6865"],["/react/build/static/media/KaTeX_Main-Bold.8e1e01c4.woff2","8e1e01c4b1207c0a383d9a2b4f86e637"],["/react/build/static/media/KaTeX_Main-Bold.9ceff51b.ttf","9ceff51b3cb7ce6eb4e8efa8163a1472"],["/react/build/static/media/KaTeX_Main-BoldItalic.284a17fe.woff2","284a17fe5baf72ff8217d4c7e70c0f82"],["/react/build/static/media/KaTeX_Main-BoldItalic.4c57dbc4.woff","4c57dbc44bfff1fdf08a59cf556fdab3"],["/react/build/static/media/KaTeX_Main-BoldItalic.e8b44b99.ttf","e8b44b990516dab7937bf240fde8b46a"],["/react/build/static/media/KaTeX_Main-Italic.29c86397.ttf","29c86397e75cdcb3135af8295f1c2e28"],["/react/build/static/media/KaTeX_Main-Italic.99be0e10.woff","99be0e10c38cd42466e6fe1665ef9536"],["/react/build/static/media/KaTeX_Main-Italic.e533d5a2.woff2","e533d5a2506cf053cd671b335ec04dde"],["/react/build/static/media/KaTeX_Main-Regular.5c734d78.woff2","5c734d78610fa35282f3379f866707f2"],["/react/build/static/media/KaTeX_Main-Regular.5c94aef4.ttf","5c94aef490324b0925dbe5f643e8fd04"],["/react/build/static/media/KaTeX_Main-Regular.b741441f.woff","b741441f6d71014d0453ca3ebc884dd4"],["/react/build/static/media/KaTeX_Math-BoldItalic.9a2834a9.ttf","9a2834a9ff8ab411153571e0e55ac693"],["/react/build/static/media/KaTeX_Math-BoldItalic.b13731ef.woff","b13731ef4e2bfc3d8d859271e39550fc"],["/react/build/static/media/KaTeX_Math-BoldItalic.d747bd1e.woff2","d747bd1e7a6a43864285edd73dcde253"],["/react/build/static/media/KaTeX_Math-Italic.291e76b8.ttf","291e76b8871b84560701bd29f9d1dcc7"],["/react/build/static/media/KaTeX_Math-Italic.4ad08b82.woff2","4ad08b826b8065e1eab85324d726538c"],["/react/build/static/media/KaTeX_Math-Italic.f0303906.woff","f0303906c2a67ac63bf1e8ccd638a89e"],["/react/build/static/media/KaTeX_SansSerif-Bold.3fb41955.woff","3fb419559955e3ce75619f1a5e8c6c84"],["/react/build/static/media/KaTeX_SansSerif-Bold.6e0830be.woff2","6e0830bee40435e72165345e0682fbfc"],["/react/build/static/media/KaTeX_SansSerif-Bold.7dc027cb.ttf","7dc027cba9f7b11ec92af4a311372a85"],["/react/build/static/media/KaTeX_SansSerif-Italic.4059868e.ttf","4059868e460d2d2e6be18e180d20c43d"],["/react/build/static/media/KaTeX_SansSerif-Italic.727a9b0d.woff","727a9b0d97d72d2fc0228fe4e07fb4d8"],["/react/build/static/media/KaTeX_SansSerif-Italic.fba01c9c.woff2","fba01c9c6fb2866a0f95bcacb2c187a5"],["/react/build/static/media/KaTeX_SansSerif-Regular.2555754a.woff","2555754a67062cac3a0913b715ab982f"],["/react/build/static/media/KaTeX_SansSerif-Regular.5c58d168.ttf","5c58d168c0b66d2c32234a6718e74dfb"],["/react/build/static/media/KaTeX_SansSerif-Regular.d929cd67.woff2","d929cd671b19f0cfea55b6200fb47461"],["/react/build/static/media/KaTeX_Script-Regular.755e2491.woff2","755e2491f13b5269f0afd5a56f7aa692"],["/react/build/static/media/KaTeX_Script-Regular.d12ea9ef.ttf","d12ea9efb375f9dc331f562e69892638"],["/react/build/static/media/KaTeX_Script-Regular.d524c9a5.woff","d524c9a5b62a17f98f4a97af37fea735"],["/react/build/static/media/KaTeX_Size1-Regular.048c39cb.woff2","048c39cba4dfb0460682a45e84548e4b"],["/react/build/static/media/KaTeX_Size1-Regular.08b5f00e.woff","08b5f00e7140f7a10e62c8e2484dfa5a"],["/react/build/static/media/KaTeX_Size1-Regular.7342d45b.ttf","7342d45b052c3a2abc21049959fbab7f"],["/react/build/static/media/KaTeX_Size2-Regular.81d6b8d5.woff2","81d6b8d5ca77d63d5033d6991549a659"],["/react/build/static/media/KaTeX_Size2-Regular.af24b0e4.woff","af24b0e4b7e52656ca77914695c99930"],["/react/build/static/media/KaTeX_Size2-Regular.eb130dcc.ttf","eb130dcc661de766c999c60ba1525a88"],["/react/build/static/media/KaTeX_Size3-Regular.0d892640.woff","0d8926405d832a4b065e516bd385d812"],["/react/build/static/media/KaTeX_Size3-Regular.7e02a40c.ttf","7e02a40c41e52dc3b2b6b197bbdf05ea"],["/react/build/static/media/KaTeX_Size3-Regular.b311ca09.woff2","b311ca09df2c89a10fbb914b5a053805"],["/react/build/static/media/KaTeX_Size4-Regular.68895bb8.woff","68895bb880a61a7fc019dbfaa5121bb4"],["/react/build/static/media/KaTeX_Size4-Regular.6a3255df.woff2","6a3255dfc1ba41c46e7e807f8ab16c49"],["/react/build/static/media/KaTeX_Size4-Regular.ad767252.ttf","ad7672524b64b730dfd176140a8945cb"],["/react/build/static/media/KaTeX_Typewriter-Regular.25702356.ttf","257023560753aeb0b89b7e434d3da17f"],["/react/build/static/media/KaTeX_Typewriter-Regular.3fe216d2.woff","3fe216d2a5f736c560cde71984554b64"],["/react/build/static/media/KaTeX_Typewriter-Regular.6cc31ea5.woff2","6cc31ea5c223c88705a13727a71417fa"],["/react/build/static/media/auth.43f1c749.png","43f1c7490f28c59e28637c7db9318878"],["/react/build/static/media/banner_list.ad510bee.png","ad510bee30a694aaedd0e2a96442ffe4"],["/react/build/static/media/banner_sub.c6034810.png","c6034810c9bd0d58dfee1ccf66f2b592"],["/react/build/static/media/beian.d0289dc0.png","d0289dc0a46fc5b15b3363ffa78cf6c7"],["/react/build/static/media/beijintulogontwo.245dc9e1.png","245dc9e1ed09d34f605c2d5799ee3327"],["/react/build/static/media/bg.88a774b5.jpg","88a774b50bcc4fcb43abbe7ca5d34886"],["/react/build/static/media/firefox_icon.cfd87a8f.png","cfd87a8f62ae37a34dab9f4b5c79b168"],["/react/build/static/media/guihome1.eca5276e.png","eca5276e17b07d59b37f161cf1ab7b3a"],["/react/build/static/media/guihome2.c65f40bf.jpg","c65f40bff07ed7c4e1d9abca9d77358c"],["/react/build/static/media/guihome3.0e1dc34b.jpg","0e1dc34b920481e8bc1bb1954eada1f1"],["/react/build/static/media/guihome4.6cc0d72b.jpg","6cc0d72b6f3f8cf8dedce533b9083810"],["/react/build/static/media/guihome5.1ac2c872.jpg","1ac2c8722fe3be81805dcc16df845ffb"],["/react/build/static/media/guihome6.7fc4fe9d.jpg","7fc4fe9d191f769592826b692fbf0560"],["/react/build/static/media/internet-explorer@2x.f122e0ab.png","f122e0abfbe49c051dba0e2d7f3d00f5"],["/react/build/static/media/job.b2881c7d.png","b2881c7d0317f7109101f3db1bcae775"],["/react/build/static/media/logo.c72d4a3b.svg","c72d4a3ba95e0b700fae9febca0e3200"],["/react/build/static/media/match_ad.4e957369.jpg","4e957369790f079662eb2dca03ece6be"],["/react/build/static/media/message.e7922cf2.svg","e7922cf2a56f9b54e44709e40626460b"],["/react/build/static/media/messagegrey.80d0b058.svg","80d0b0580c10b5e7fc571c3064a991c5"],["/react/build/static/media/mytc.4ef5faf4.png","4ef5faf4ec6fdee6a4909d34b9a1a171"],["/react/build/static/media/oj_banner.25ca233e.jpg","25ca233e22299a2a1e2f577eed32e745"],["/react/build/static/media/passall.46817e26.png","46817e2696bbb2ac4bf0e5bc4e8b101e"],["/react/build/static/media/passpart.4aaf3e6b.png","4aaf3e6b4667dc531eee7f4e5f807d70"],["/react/build/static/media/rc-tree.776c7fe6.png","776c7fe67df0637005b1a1372066ed84"],["/react/build/static/media/skzbdx.01cb5862.png","01cb58627ee7981e0bcb65c8467d4975"],["/react/build/static/media/teach_ex.a415d7a9.jpg","a415d7a9bbc72fe5d3aafd002181cc09"]],cacheName="sw-precache-v3-sw-precache-webpack-plugin-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(c,a){var e=new URL(c);return"/"===e.pathname.slice(-1)&&(e.pathname+=a),e.toString()},cleanResponse=function(a){return a.redirected?("body"in a?Promise.resolve(a.body):a.blob()).then(function(c){return new Response(c,{headers:a.headers,status:a.status,statusText:a.statusText})}):Promise.resolve(a)},createCacheKey=function(c,a,e,d){var t=new URL(c);return d&&t.pathname.match(d)||(t.search+=(t.search?"&":"")+encodeURIComponent(a)+"="+encodeURIComponent(e)),t.toString()},isPathWhitelisted=function(c,a){if(0===c.length)return!0;var e=new URL(a).pathname;return c.some(function(c){return e.match(c)})},stripIgnoredUrlParameters=function(c,e){var a=new URL(c);return a.hash="",a.search=a.search.slice(1).split("&").map(function(c){return c.split("=")}).filter(function(a){return e.every(function(c){return!c.test(a[0])})}).map(function(c){return c.join("=")}).join("&"),a.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(c){var a=c[0],e=c[1],d=new URL(a,self.location),t=createCacheKey(d,hashParamName,e,/\.\w{8}\./);return[d.toString(),t]}));function setOfCachedUrls(c){return c.keys().then(function(c){return c.map(function(c){return c.url})}).then(function(c){return new Set(c)})}self.addEventListener("install",function(c){c.waitUntil(caches.open(cacheName).then(function(d){return setOfCachedUrls(d).then(function(e){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(a){if(!e.has(a)){var c=new Request(a,{credentials:"same-origin"});return fetch(c).then(function(c){if(!c.ok)throw new Error("Request for "+a+" returned a response with status "+c.status);return cleanResponse(c).then(function(c){return d.put(a,c)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(c){var e=new Set(urlsToCacheKeys.values());c.waitUntil(caches.open(cacheName).then(function(a){return a.keys().then(function(c){return Promise.all(c.map(function(c){if(!e.has(c.url))return a.delete(c)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(a){if("GET"===a.request.method){var c,e=stripIgnoredUrlParameters(a.request.url,ignoreUrlParametersMatching),d="index.html";(c=urlsToCacheKeys.has(e))||(e=addDirectoryIndex(e,d),c=urlsToCacheKeys.has(e));var t="/index.html";!c&&"navigate"===a.request.mode&&isPathWhitelisted(["^(?!\\/__).*"],a.request.url)&&(e=new URL(t,self.location).toString(),c=urlsToCacheKeys.has(e)),c&&a.respondWith(caches.open(cacheName).then(function(c){return c.match(urlsToCacheKeys.get(e)).then(function(c){if(c)return c;throw Error("The cached response that was expected is missing.")})}).catch(function(c){return console.warn('Couldn\'t serve response for "%s" from cache: %O',a.request.url,c),fetch(a.request)}))}}); + diff --git a/public/react/build/static/js/118.99fc080c.chunk.js b/public/react/build/static/js/118.dcdaacee.chunk.js similarity index 99% rename from public/react/build/static/js/118.99fc080c.chunk.js rename to public/react/build/static/js/118.dcdaacee.chunk.js index 7ce01f1e5..40d4b18a3 100644 --- a/public/react/build/static/js/118.99fc080c.chunk.js +++ b/public/react/build/static/js/118.dcdaacee.chunk.js @@ -10201,8 +10201,8 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__DetailTop__ = __webpack_require__(3044); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_axios__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_axios__); -var _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&result.data.commits.map(function(item,key){array.push({name:item.author&&item.author.name,image_url:item.author&&item.author.image_url,sha:item.sha,time_from_now:item.time_from_now,message:item.message});});_this.setState({data:array,dataCount:result.data.total_count,isSpin:false});}}).catch(function(error){console.log(error);});};_this.changeBranch=function(value){var branchList=_this.props.branchList;var branchLastCommit=branchList[parseInt(value.key)];var _this$state2=_this.state,page=_this$state2.page,limit=_this$state2.limit;_this.setState({isSpin:true,branch:branchLastCommit.name});_this.getCommitList(branchLastCommit.name,page,limit);};_this.ChangePage=function(page){var _this$state3=_this.state,branch=_this$state3.branch,limit=_this$state3.limit;_this.getCommitList(branch,page,limit);};_this.state={branch:"master",data:undefined,dataCount:undefined,limit:50,page:1,isSpin:false};return _this;}// 切换分支 -_createClass(CoderRootCommit,[{key:'render',value:function render(){var _this2=this;var _state=this.state,branch=_state.branch,data=_state.data,dataCount=_state.dataCount,limit=_state.limit,page=_state.page,isSpin=_state.isSpin;var branchs=this.props.branchs;var columns=[{title:"作者",dataIndex:'name',width:"10%",render:function render(text,item){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('span',{className:'f-wrap-alignCenter'},__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('img',{src:Object(__WEBPACK_IMPORTED_MODULE_5_educoder__["M" /* getImageUrl */])('images/'+item.image_url),alt:'',width:'28px',height:'28px',className:'mr3 radius'}),__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('label',{className:'hide-1',style:{maxWidth:"75px"}},text));}},{title:"SHA",dataIndex:'sha',render:function render(text){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('span',{className:'commitKey'},text);}},{title:"备注",dataIndex:'message',render:function render(text){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('span',null,text);}},{title:"提交时间",className:"edu-txt-right",dataIndex:'time_from_now',render:function render(text){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('span',null,text);}}];var _title=function _title(){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div',{className:'f-wrap-between',style:{alignItems:"center"}},__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('span',{className:'font-16'},dataCount,'\u6B21\u63D0\u4EA4\u4EE3\u7801(',branch,')'));};var Pagination=function Pagination(){if(dataCount>limit){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div',{className:'edu-txt-center pt30 mb30'},__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(Pagination,{simple:true,defaultCurrent:page,total:dataCount,pageSize:limit,onChange:_this2.ChangePage}));}};return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div',null,__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__DetailTop__["a" /* default */],Object.assign({},this.props,this.state)),__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div',{className:'f-wrap-between mt20'},__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__Branch_SelectBranch__["a" /* default */],{branch:branch,branchs:branchs,changeBranch:this.changeBranch})),__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_antd_lib_spin___default.a,{spinning:isSpin},__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_antd_lib_table___default.a,{className:'mt20 wrap-commit-table',columns:columns,dataSource:data,showHeader:false,size:'small',pagination:false,title:function title(){return _title();}}),Pagination()));}}]);return CoderRootCommit;}(__WEBPACK_IMPORTED_MODULE_4_react__["Component"]);/* harmony default export */ __webpack_exports__["default"] = (CoderRootCommit); +var _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&result.data.commits.map(function(item,key){array.push({name:item.author&&item.author.name,image_url:item.author&&item.author.image_url,sha:item.sha,time_from_now:item.time_from_now,message:item.message});});_this.setState({data:array,dataCount:result.data.total_count,isSpin:false});}}).catch(function(error){console.log(error);});};_this.changeBranch=function(value){var branchList=_this.props.branchList;var branchLastCommit=branchList[parseInt(value.key)];var _this$state2=_this.state,page=_this$state2.page,limit=_this$state2.limit;_this.setState({isSpin:true,branch:branchLastCommit.name});_this.getCommitList(branchLastCommit.name,page,limit);};_this.ChangePage=function(page){var _this$state3=_this.state,branch=_this$state3.branch,limit=_this$state3.limit;_this.getCommitList(branch,page,limit);};_this.state={branch:"master",data:undefined,dataCount:undefined,limit:20,page:1,isSpin:false};return _this;}// 切换分支 +_createClass(CoderRootCommit,[{key:'render',value:function render(){var _this2=this;var _state=this.state,branch=_state.branch,data=_state.data,dataCount=_state.dataCount,limit=_state.limit,page=_state.page,isSpin=_state.isSpin;var branchs=this.props.branchs;console.log("data",data);var columns=[{title:"作者",dataIndex:'name',width:"10%",render:function render(text,item){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('span',{className:'f-wrap-alignCenter'},__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('img',{src:Object(__WEBPACK_IMPORTED_MODULE_5_educoder__["M" /* getImageUrl */])('images/'+item.image_url),alt:'',width:'28px',height:'28px',className:'mr3 radius'}),__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('label',{className:'hide-1',style:{maxWidth:"75px"}},text));}},{title:"SHA",dataIndex:'sha',render:function render(text){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('span',{className:'commitKey'},text);}},{title:"备注",dataIndex:'message',render:function render(text){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('span',null,text);}},{title:"提交时间",className:"edu-txt-right",dataIndex:'time_from_now',render:function render(text){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('span',null,text);}}];var _title=function _title(){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div',{className:'f-wrap-between',style:{alignItems:"center"}},__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('span',{className:'font-16'},dataCount,'\u6B21\u63D0\u4EA4\u4EE3\u7801(',branch,')'));};var Pagination=function Pagination(){if(dataCount>limit){return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div',{className:'edu-txt-center pt30 mb30'},__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(Pagination,{simple:true,defaultCurrent:page,total:dataCount,pageSize:limit,onChange:_this2.ChangePage}));}};return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div',null,__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__DetailTop__["a" /* default */],Object.assign({},this.props,this.state)),__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div',{className:'f-wrap-between mt20'},__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__Branch_SelectBranch__["a" /* default */],{branch:branch,branchs:branchs,changeBranch:this.changeBranch})),__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_antd_lib_spin___default.a,{spinning:isSpin},__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_antd_lib_table___default.a,{className:'mt20 wrap-commit-table',columns:columns,dataSource:data,showHeader:false,size:'small',pagination:false,title:function title(){return _title();}}),Pagination()));}}]);return CoderRootCommit;}(__WEBPACK_IMPORTED_MODULE_4_react__["Component"]);/* harmony default export */ __webpack_exports__["default"] = (CoderRootCommit); /***/ }), diff --git a/public/react/build/static/js/182.7cc692e1.chunk.js b/public/react/build/static/js/182.32355a80.chunk.js similarity index 95% rename from public/react/build/static/js/182.7cc692e1.chunk.js rename to public/react/build/static/js/182.32355a80.chunk.js index fac543de4..00f1674ec 100644 --- a/public/react/build/static/js/182.7cc692e1.chunk.js +++ b/public/react/build/static/js/182.32355a80.chunk.js @@ -113,9 +113,9 @@ var _createClass=function(){function defineProperties(target,props){for(var i=0; var MergeIndexDetail=__WEBPACK_IMPORTED_MODULE_4_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(160).then(__webpack_require__.bind(null, 4804));},loading:__WEBPACK_IMPORTED_MODULE_5__Loading__["a" /* default */]});var CreateMerge=__WEBPACK_IMPORTED_MODULE_4_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(59).then(__webpack_require__.bind(null, 4806));},loading:__WEBPACK_IMPORTED_MODULE_5__Loading__["a" /* default */]});var MessageCount=__WEBPACK_IMPORTED_MODULE_4_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(77).then(__webpack_require__.bind(null, 4807));},loading:__WEBPACK_IMPORTED_MODULE_5__Loading__["a" /* default */]});var MergeSubmit=__WEBPACK_IMPORTED_MODULE_4_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(64).then(__webpack_require__.bind(null, 4808));},loading:__WEBPACK_IMPORTED_MODULE_5__Loading__["a" /* default */]});var UpdateMerge=__WEBPACK_IMPORTED_MODULE_4_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(91).then(__webpack_require__.bind(null, 4809));},loading:__WEBPACK_IMPORTED_MODULE_5__Loading__["a" /* default */]});//版本发布 var VersionIndex=__WEBPACK_IMPORTED_MODULE_4_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(199).then(__webpack_require__.bind(null, 4810));},loading:__WEBPACK_IMPORTED_MODULE_5__Loading__["a" /* default */]});var NewVersionIndex=__WEBPACK_IMPORTED_MODULE_4_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(125).then(__webpack_require__.bind(null, 4811));},loading:__WEBPACK_IMPORTED_MODULE_5__Loading__["a" /* default */]});var UpVersionIndex=__WEBPACK_IMPORTED_MODULE_4_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(85).then(__webpack_require__.bind(null, 4812));},loading:__WEBPACK_IMPORTED_MODULE_5__Loading__["a" /* default */]});var MilepostDetail=__WEBPACK_IMPORTED_MODULE_4_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(166).then(__webpack_require__.bind(null, 4813));},loading:__WEBPACK_IMPORTED_MODULE_5__Loading__["a" /* default */]});var TrendsIndex=__WEBPACK_IMPORTED_MODULE_4_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(162).then(__webpack_require__.bind(null, 4814));},loading:__WEBPACK_IMPORTED_MODULE_5__Loading__["a" /* default */]});/** * permission:Manager:管理员,Reporter:报告人员(只有读取权限),Developer:开发人员(除不能设置仓库信息外) - */var Detail=function(_Component){_inherits(Detail,_Component);function Detail(props){_classCallCheck(this,Detail);var _this=_possibleConstructorReturn(this,(Detail.__proto__||Object.getPrototypeOf(Detail)).call(this,props));_this.getUserInfo=function(){var url='/users/me.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(url).then(function(result){if(result&&result.data.login){_this.setState({current_user:result.data});_this.getDetail();}}).catch(function(error){console.log(error);});};_this.componentDidMount=function(){// this.getUserInfo(); -_this.getDetail();};_this.getDetail=function(){console.log("state",_this.props);var state=_this.props.history.location.state;var current_user=_this.props.current_user;var projectsId=_this.props.match.params.projectsId;var url='/'+(state?state:current_user&¤t_user.login)+'/'+projectsId+'.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(url).then(function(result){if(result){_this.setState({projectDetail:result.data,project_id:result.data.project_id,isManager:result.data.permission&&result.data.permission==="Manager",isReporter:result.data.permission&&result.data.permission==="Reporter",isDeveloper:result.data.permission&&result.data.permission==="Developer",http_url:result.data.clone_url,author:result.data.author,watchers_count:result.data.watchers_count,praises_count:result.data.praises_count,forked_count:result.data.forked_count});if(result.data.project_id){_this.getBranch(result.data.project_id);}}}).catch(function(error){});};_this.focusFunc=function(flag){var project_id=_this.state.project_id;if(!flag){var url='/projects/'+project_id+'/watchers/follow.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.post(url).then(function(result){if(result){_this.props.showNotification('关注成功');_this.getDetail();}}).catch(function(error){console.log(error);});}else{var _url='/projects/'+project_id+'/watchers/unfollow.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.delete(_url).then(function(result){if(result){_this.props.showNotification('取消关注成功');_this.getDetail();}}).catch(function(error){console.log(error);});}};_this.pariseFunc=function(flag){var project_id=_this.state.project_id;if(!flag){var url='/projects/'+project_id+'/praise_tread/like.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.post(url).then(function(result){if(result){_this.props.showNotification('点赞成功');_this.getDetail();}}).catch(function(error){console.log(error);});}else{var _url2='/projects/'+project_id+'/praise_tread/unlike.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.delete(_url2).then(function(result){if(result){_this.props.showNotification('取消点赞成功');_this.getDetail();}}).catch(function(error){console.log(error);});}};_this.forkFunc=function(){var project_id=_this.state.project_id;var url='/projects/'+project_id+'/forks.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.post(url).then(function(result){if(result&&result.data.status===0){_this.props.history.push('/projects/'+result.data.identifier+'/coder');}else{_this.props.showNotification(result.data.message);}}).catch(function(error){console.log(error);});};_this.getBranch=function(id){var url='/projects/'+id+'/branches.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(url).then(function(result){if(result&&result.data.length>0){var branchs=[];result.data.map(function(item,key){branchs.push({index:key,name:item.name});});_this.setState({branchList:result.data,branchs:branchs,branchLastCommit:result.data[0]// http_url:result.data[0].http_url -});}}).catch(function(error){});};_this.state={projectDetail:undefined,isManager:false,isReporter:false,isDeveloper:false,project_id:undefined,watchers_count:undefined,praises_count:undefined,forked_count:undefined,http_url:undefined,author:undefined,branchs:undefined,branchList:undefined,branchLastCommit:undefined};return _this;}// componentDidUpdate=(provState)=>{ + */var Detail=function(_Component){_inherits(Detail,_Component);function Detail(props){_classCallCheck(this,Detail);var _this=_possibleConstructorReturn(this,(Detail.__proto__||Object.getPrototypeOf(Detail)).call(this,props));_this.getUserInfo=function(){var url='/users/me.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(url).then(function(result){if(result&&result.data.login){_this.setState({current_user:result.data});}_this.getDetail();}).catch(function(error){console.log(error);});};_this.componentDidMount=function(){_this.getUserInfo();// this.getDetail(); +};_this.getDetail=function(){console.log("state",_this.props);var state=_this.props.history.location.state;var current_user=_this.state.current_user;var projectsId=_this.props.match.params.projectsId;var url='/'+(state?state:current_user&¤t_user.login)+'/'+projectsId+'.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(url).then(function(result){if(result){_this.setState({projectDetail:result.data,project_id:result.data.project_id,isManager:result.data.permission&&result.data.permission==="Manager",isReporter:result.data.permission&&result.data.permission==="Reporter",isDeveloper:result.data.permission&&result.data.permission==="Developer",http_url:result.data.clone_url,author:result.data.author,watchers_count:result.data.watchers_count,praises_count:result.data.praises_count,forked_count:result.data.forked_count});if(result.data.project_id){_this.getBranch(result.data.project_id);}}}).catch(function(error){});};_this.focusFunc=function(flag){var project_id=_this.state.project_id;if(!flag){var url='/projects/'+project_id+'/watchers/follow.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.post(url).then(function(result){if(result){_this.props.showNotification('关注成功');_this.getDetail();}}).catch(function(error){console.log(error);});}else{var _url='/projects/'+project_id+'/watchers/unfollow.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.delete(_url).then(function(result){if(result){_this.props.showNotification('取消关注成功');_this.getDetail();}}).catch(function(error){console.log(error);});}};_this.pariseFunc=function(flag){var project_id=_this.state.project_id;if(!flag){var url='/projects/'+project_id+'/praise_tread/like.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.post(url).then(function(result){if(result){_this.props.showNotification('点赞成功');_this.getDetail();}}).catch(function(error){console.log(error);});}else{var _url2='/projects/'+project_id+'/praise_tread/unlike.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.delete(_url2).then(function(result){if(result){_this.props.showNotification('取消点赞成功');_this.getDetail();}}).catch(function(error){console.log(error);});}};_this.forkFunc=function(){var project_id=_this.state.project_id;var url='/projects/'+project_id+'/forks.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.post(url).then(function(result){if(result&&result.data.status===0){_this.props.history.push('/projects/'+result.data.identifier+'/coder');}else{_this.props.showNotification(result.data.message);}}).catch(function(error){console.log(error);});};_this.getBranch=function(id){var url='/projects/'+id+'/branches.json';__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(url).then(function(result){if(result&&result.data.length>0){var branchs=[];result.data.map(function(item,key){branchs.push({index:key,name:item.name});});_this.setState({branchList:result.data,branchs:branchs,branchLastCommit:result.data[0]// http_url:result.data[0].http_url +});}}).catch(function(error){});};_this.state={projectDetail:undefined,isManager:false,isReporter:false,isDeveloper:false,project_id:undefined,watchers_count:undefined,praises_count:undefined,forked_count:undefined,http_url:undefined,author:undefined,branchs:undefined,branchList:undefined,branchLastCommit:undefined,current_user:undefined};return _this;}// componentDidUpdate=(provState)=>{ // if(provState.match.params.projectsId !== this.props.match.params.projectsId){ // this.getDetail(); // } diff --git a/public/react/build/static/js/main.92c53e22.js b/public/react/build/static/js/main.92c53e22.js new file mode 100644 index 000000000..96929ff7e --- /dev/null +++ b/public/react/build/static/js/main.92c53e22.js @@ -0,0 +1,77300 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // install a JSONP callback for chunk loading +/******/ var parentJsonpFunction = window["webpackJsonp"]; +/******/ window["webpackJsonp"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) { +/******/ // add "moreModules" to the modules object, +/******/ // then flag all "chunkIds" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0, resolves = [], result; +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(installedChunks[chunkId]) { +/******/ resolves.push(installedChunks[chunkId][0]); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ for(moduleId in moreModules) { +/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { +/******/ modules[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules); +/******/ while(resolves.length) { +/******/ resolves.shift()(); +/******/ } +/******/ +/******/ }; +/******/ +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // objects to store loaded and loading chunks +/******/ var installedChunks = { +/******/ 273: 0 +/******/ }; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = function requireEnsure(chunkId) { +/******/ var installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData === 0) { +/******/ return new Promise(function(resolve) { resolve(); }); +/******/ } +/******/ +/******/ // a Promise means "currently loading". +/******/ if(installedChunkData) { +/******/ return installedChunkData[2]; +/******/ } +/******/ +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise(function(resolve, reject) { +/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject]; +/******/ }); +/******/ installedChunkData[2] = promise; +/******/ +/******/ // start chunk loading +/******/ var head = document.getElementsByTagName('head')[0]; +/******/ var script = document.createElement('script'); +/******/ script.type = 'text/javascript'; +/******/ script.charset = 'utf-8'; +/******/ script.async = true; +/******/ script.timeout = 120000; +/******/ +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute("nonce", __webpack_require__.nc); +/******/ } +/******/ script.src = __webpack_require__.p + "./static/js/" + ({}[chunkId]||chunkId) + "." + {"0":"32f86ba0","1":"9befcc1f","2":"91181422","3":"3a1b0517","4":"f8c8ee32","5":"db442110","6":"064b97d2","7":"1b48efb3","8":"ead37a1b","9":"212b659d","10":"e6f0d5df","11":"272a0813","12":"fb20694d","13":"2a74a189","14":"3129051e","15":"044bdca2","16":"607025a2","17":"f3a77daf","18":"bc842084","19":"9fb55eb5","20":"8e6c9998","21":"397df705","22":"0f78393a","23":"f50ff0ed","24":"34dfd496","25":"678451bf","26":"f5580503","27":"fc19bbe9","28":"d7556191","29":"126bd10b","30":"54f7104f","31":"37c141c0","32":"fedb209c","33":"100ad33d","34":"ad397283","35":"32a9f338","36":"cc9fadd2","37":"f93f5966","38":"9a288fc5","39":"e36275c9","40":"a2782e03","41":"ec116e1a","42":"dbcf1df2","43":"4cdbff5f","44":"9be18220","45":"7b58fdd3","46":"c1e7062a","47":"9301a210","48":"5417c295","49":"a66e9054","50":"49a23628","51":"4eb1ce58","52":"812d20af","53":"627c4eba","54":"483cf5f7","55":"0797a4e0","56":"ad4329f0","57":"9871c9a5","58":"66e239b0","59":"3a9ddb68","60":"3fe33a42","61":"6434bc4d","62":"88296aa0","63":"621172ab","64":"f5fc0f9f","65":"1829b1a8","66":"5911351a","67":"94bc3295","68":"792bbdc2","69":"225cc0f5","70":"adb8d0da","71":"ceb703db","72":"2ffeb57f","73":"a81efe47","74":"cfa0f703","75":"385cc133","76":"5a64bd52","77":"c5d0b26c","78":"2a0a496c","79":"de080f3a","80":"625007b9","81":"c2fc7f34","82":"3f3fb911","83":"43c46839","84":"06ff869b","85":"87feec61","86":"91367549","87":"36950761","88":"4e63f179","89":"deb7ae8b","90":"83b2bc91","91":"297075b6","92":"ab737e6f","93":"f2bbfa4d","94":"2baa6a4a","95":"25205199","96":"f58b38f5","97":"250cea14","98":"92e47c1c","99":"f1a59e21","100":"8ee5edf4","101":"f4fe4e79","102":"69a7bc5c","103":"152cfdea","104":"7a114da6","105":"1c077c1d","106":"e6e846ef","107":"8c650167","108":"a45e0b1e","109":"41a33a1a","110":"057de435","111":"48228f82","112":"7c9cd1c1","113":"fd49f1f1","114":"c6a6e101","115":"a12fef6d","116":"574db64b","117":"5acf3184","118":"dcdaacee","119":"cb63073c","120":"1df9dd9f","121":"3b8227c6","122":"882e31f8","123":"8c68d28a","124":"408ebb33","125":"5a0075af","126":"5f74fc9a","127":"235b5862","128":"477c79f8","129":"1175e25e","130":"5af2206c","131":"119512f3","132":"36844213","133":"7f7f7c40","134":"0a954a4a","135":"0338886b","136":"9cd53ce0","137":"689cbd5d","138":"681f35ce","139":"80419667","140":"aee26025","141":"09f4d1b2","142":"bcafddbd","143":"cb69da0b","144":"34ac3654","145":"f92c8ac0","146":"8c09576f","147":"b1b48fca","148":"20eceec1","149":"96790f46","150":"2d8568a9","151":"9b55bafe","152":"235dc8d0","153":"b8529acb","154":"6661c864","155":"5cf9f404","156":"4bfb8625","157":"d0788917","158":"fdaa8652","159":"31235414","160":"d9c39bd5","161":"1289bb4c","162":"b476086f","163":"76998e2c","164":"9c50c2f6","165":"7c54d354","166":"f08d7d87","167":"7a30e1c2","168":"471f4346","169":"570f0555","170":"efb23b4c","171":"a04a7d6b","172":"3f0e7b46","173":"801a7006","174":"3ce7c837","175":"e718c801","176":"9e226038","177":"de58a2ab","178":"e41d6fc9","179":"d9a714d5","180":"9c7901de","181":"32ab74d1","182":"32355a80","183":"63280af3","184":"d0035463","185":"acfc5c9d","186":"6fbd2f8a","187":"73a82b81","188":"3f8d93ac","189":"779864de","190":"524ed7e4","191":"11223317","192":"1f0ecd8d","193":"467554a4","194":"85e01bc5","195":"c3d92d8d","196":"2bed9c77","197":"73a75b07","198":"5b79a67a","199":"75daf23b","200":"7bea6b93","201":"887ac622","202":"0747f472","203":"319c605d","204":"b952bc90","205":"74226ccb","206":"9a77ec55","207":"aa11546d","208":"0311749a","209":"f8673a70","210":"e293a6c2","211":"122a95b5","212":"7c7f2c09","213":"c2194024","214":"2abff5c6","215":"ed2ba55f","216":"412b39ea","217":"bb69a91b","218":"959d2d92","219":"ea1571db","220":"476d3205","221":"70a965d5","222":"3ef33f8f","223":"8d635e59","224":"92df6615","225":"42ebc3fc","226":"009659c8","227":"1cd231d1","228":"9c0969be","229":"9150babf","230":"9bda9379","231":"8d16ba48","232":"ad4c8e76","233":"46a6a290","234":"b38fe790","235":"e026c583","236":"51e02191","237":"fc17182c","238":"cf33826a","239":"6e3fd6a7","240":"375a94a5","241":"a4ad5668","242":"3f703305","243":"0537446d","244":"3b9fda4a","245":"252c1f90","246":"95139bd1","247":"67155b66","248":"15c9028d","249":"251f9a9c","250":"4d28c8c4","251":"48dd3249","252":"5cead067","253":"a38088fa","254":"82920ffa","255":"5ca9976c","256":"01157ff4","257":"53934360","258":"41e7722d","259":"bec5cf59","260":"2008c623","261":"d2ddfd76","262":"60bc5846","263":"e9c72927","264":"545e8a7f","265":"af8eb09e","266":"2afc190b","267":"fb8fdd79","268":"d16ddbae","269":"69226c95","270":"23c1612b","271":"8d6b6380","272":"745f6b8b"}[chunkId] + ".chunk.js"; +/******/ var timeout = setTimeout(onScriptComplete, 120000); +/******/ script.onerror = script.onload = onScriptComplete; +/******/ function onScriptComplete() { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var chunk = installedChunks[chunkId]; +/******/ if(chunk !== 0) { +/******/ if(chunk) { +/******/ chunk[1](new Error('Loading chunk ' + chunkId + ' failed.')); +/******/ } +/******/ installedChunks[chunkId] = undefined; +/******/ } +/******/ }; +/******/ head.appendChild(script); +/******/ +/******/ return promise; +/******/ }; +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/react/build/"; +/******/ +/******/ // on error function for async loading +/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 388); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +if (true) { + module.exports = __webpack_require__(395); +} else { + module.exports = require('./cjs/react.development.js'); +} + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +if (false) { + var ReactIs = require('react-is'); + + // By explicitly using `prop-types` you are opting into new development behavior. + // http://fb.me/prop-types-in-prod + var throwOnDirectAccess = true; + module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess); +} else { + // By explicitly using `prop-types` you are opting into new production behavior. + // http://fb.me/prop-types-in-prod + module.exports = __webpack_require__(405)(); +} + + +/***/ }), +/* 2 */ +/***/ (function(module, exports) { + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +module.exports = _interopRequireDefault; + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/* global define */ + +(function () { + 'use strict'; + + var hasOwn = {}.hasOwnProperty; + + function classNames () { + var classes = []; + + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i]; + if (!arg) continue; + + var argType = typeof arg; + + if (argType === 'string' || argType === 'number') { + classes.push(arg); + } else if (Array.isArray(arg) && arg.length) { + var inner = classNames.apply(null, arg); + if (inner) { + classes.push(inner); + } + } else if (argType === 'object') { + for (var key in arg) { + if (hasOwn.call(arg, key) && arg[key]) { + classes.push(key); + } + } + } + } + + return classes.join(' '); + } + + if (typeof module !== 'undefined' && module.exports) { + classNames.default = classNames; + module.exports = classNames; + } else if (true) { + // register as 'classnames', consistent with npm package name + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () { + return classNames; + }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else { + window.classNames = classNames; + } +}()); + + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +function checkDCE() { + /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ + if ( + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function' + ) { + return; + } + if (false) { + // This branch is unreachable because this function is only called + // in production, but the condition is true only in development. + // Therefore if the branch is still here, dead code elimination wasn't + // properly applied. + // Don't change the message. React DevTools relies on it. Also make sure + // this message doesn't occur elsewhere in this function, or it will cause + // a false positive. + throw new Error('^_^'); + } + try { + // Verify that the code above has been dead code eliminated (DCE'd). + __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE); + } catch (err) { + // DevTools shouldn't crash React, no matter what. + // We should still report in case we break this code. + console.error(err); + } +} + +if (true) { + // DCE check should happen before ReactDOM bundle executes so that + // DevTools can report bad minification during injection. + checkDCE(); + module.exports = __webpack_require__(396); +} else { + module.exports = require('./cjs/react-dom.development.js'); +} + + +/***/ }), +/* 5 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__UrlTool__ = __webpack_require__(627); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "M", function() { return __WEBPACK_IMPORTED_MODULE_0__UrlTool__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "R", function() { return __WEBPACK_IMPORTED_MODULE_0__UrlTool__["f"]; }); +/* unused harmony reexport getUrlmys */ +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "S", function() { return __WEBPACK_IMPORTED_MODULE_0__UrlTool__["g"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "_1", function() { return __WEBPACK_IMPORTED_MODULE_0__UrlTool__["i"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "P", function() { return __WEBPACK_IMPORTED_MODULE_0__UrlTool__["d"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Q", function() { return __WEBPACK_IMPORTED_MODULE_0__UrlTool__["e"]; }); +/* unused harmony reexport getUploadActionUrlOfAuth */ +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "O", function() { return __WEBPACK_IMPORTED_MODULE_0__UrlTool__["c"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "x", function() { return __WEBPACK_IMPORTED_MODULE_0__UrlTool__["a"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "U", function() { return __WEBPACK_IMPORTED_MODULE_0__UrlTool__["h"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__UrlTool2__ = __webpack_require__(628); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__UrlTool2___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__UrlTool2__); +/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "_0", function() { return __WEBPACK_IMPORTED_MODULE_1__UrlTool2___default.a; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__SnackbarHOC__ = __webpack_require__(629); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "w", function() { return __WEBPACK_IMPORTED_MODULE_2__SnackbarHOC__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__EventUtil__ = __webpack_require__(632); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "_5", function() { return __WEBPACK_IMPORTED_MODULE_3__EventUtil__["e"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Z", function() { return __WEBPACK_IMPORTED_MODULE_3__EventUtil__["d"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Y", function() { return __WEBPACK_IMPORTED_MODULE_3__EventUtil__["c"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "E", function() { return __WEBPACK_IMPORTED_MODULE_3__EventUtil__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "D", function() { return __WEBPACK_IMPORTED_MODULE_3__EventUtil__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__RouterUtil__ = __webpack_require__(633); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "_6", function() { return __WEBPACK_IMPORTED_MODULE_4__RouterUtil__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__UnitUtil__ = __webpack_require__(634); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "F", function() { return __WEBPACK_IMPORTED_MODULE_5__UnitUtil__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__TextUtil__ = __webpack_require__(635); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "X", function() { return __WEBPACK_IMPORTED_MODULE_6__TextUtil__["e"]; }); +/* unused harmony reexport uploadNameSizeSeperator */ +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "B", function() { return __WEBPACK_IMPORTED_MODULE_6__TextUtil__["a"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "C", function() { return __WEBPACK_IMPORTED_MODULE_6__TextUtil__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "W", function() { return __WEBPACK_IMPORTED_MODULE_6__TextUtil__["d"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "J", function() { return __WEBPACK_IMPORTED_MODULE_6__TextUtil__["c"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "_2", function() { return __WEBPACK_IMPORTED_MODULE_6__TextUtil__["f"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__DateUtil__ = __webpack_require__(636); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "T", function() { return __WEBPACK_IMPORTED_MODULE_7__DateUtil__["c"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "N", function() { return __WEBPACK_IMPORTED_MODULE_7__DateUtil__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "K", function() { return __WEBPACK_IMPORTED_MODULE_7__DateUtil__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_ShareUtil__ = __webpack_require__(637); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "H", function() { return __WEBPACK_IMPORTED_MODULE_8__util_ShareUtil__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "I", function() { return __WEBPACK_IMPORTED_MODULE_8__util_ShareUtil__["c"]; }); +/* unused harmony reexport configShareForShixuns */ +/* unused harmony reexport configShareForCourses */ +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "G", function() { return __WEBPACK_IMPORTED_MODULE_8__util_ShareUtil__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__Env__ = __webpack_require__(638); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "V", function() { return __WEBPACK_IMPORTED_MODULE_9__Env__["a"]; }); +/* unused harmony reexport isMobile */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Store__ = __webpack_require__(639); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "_3", function() { return __WEBPACK_IMPORTED_MODULE_10__Store__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "L", function() { return __WEBPACK_IMPORTED_MODULE_10__Store__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__LogUtil__ = __webpack_require__(651); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "_4", function() { return __WEBPACK_IMPORTED_MODULE_11__LogUtil__["a"]; }); +/* unused harmony reexport trace */ +/* unused harmony reexport debug */ +/* unused harmony reexport info */ +/* unused harmony reexport warn */ +/* unused harmony reexport error */ +/* unused harmony reexport trace_c */ +/* unused harmony reexport debug_c */ +/* unused harmony reexport info_c */ +/* unused harmony reexport warn_c */ +/* unused harmony reexport error_c */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__Const__ = __webpack_require__(653); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return __WEBPACK_IMPORTED_MODULE_12__Const__["a"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return __WEBPACK_IMPORTED_MODULE_12__Const__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return __WEBPACK_IMPORTED_MODULE_12__Const__["e"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return __WEBPACK_IMPORTED_MODULE_12__Const__["f"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return __WEBPACK_IMPORTED_MODULE_12__Const__["c"]; }); +/* unused harmony reexport EDU_GAME_MANAGER */ +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "p", function() { return __WEBPACK_IMPORTED_MODULE_12__Const__["g"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return __WEBPACK_IMPORTED_MODULE_12__Const__["d"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_attachment_AttachmentList__ = __webpack_require__(362); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_13__components_attachment_AttachmentList__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__context_ThemeContext__ = __webpack_require__(654); +/* unused harmony reexport themes */ +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "y", function() { return __WEBPACK_IMPORTED_MODULE_14__context_ThemeContext__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__components_ModalHOC__ = __webpack_require__(655); +/* unused harmony reexport ModalHOC */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__components_SetAppModel__ = __webpack_require__(674); +/* unused harmony reexport SetAppModel */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__components_LinkAfterLogin__ = __webpack_require__(675); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "r", function() { return __WEBPACK_IMPORTED_MODULE_17__components_LinkAfterLogin__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__components_Cropper__ = __webpack_require__(676); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_18__components_Cropper__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__components_ConditionToolTip__ = __webpack_require__(677); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_19__components_ConditionToolTip__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__components_instruction_PopInstruction__ = __webpack_require__(700); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "v", function() { return __WEBPACK_IMPORTED_MODULE_20__components_instruction_PopInstruction__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_form_City__ = __webpack_require__(701); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_21__components_form_City__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__course_WordsBtn__ = __webpack_require__(722); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "A", function() { return __WEBPACK_IMPORTED_MODULE_22__course_WordsBtn__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__course_ActionBtn__ = __webpack_require__(723); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_23__course_ActionBtn__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__components_markdown_MarkdownToHtml__ = __webpack_require__(724); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "s", function() { return __WEBPACK_IMPORTED_MODULE_24__components_markdown_MarkdownToHtml__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__components_markdown_DMDEditor__ = __webpack_require__(726); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return __WEBPACK_IMPORTED_MODULE_25__components_markdown_DMDEditor__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__components_media_Clappr__ = __webpack_require__(757); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_26__components_media_Clappr__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__components_media_AliyunUploader__ = __webpack_require__(764); +/* unused harmony reexport AliyunUploader */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__hooks_ImageLayer2__ = __webpack_require__(765); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "q", function() { return __WEBPACK_IMPORTED_MODULE_28__hooks_ImageLayer2__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__modules_courses_common_CBreadcrumb__ = __webpack_require__(349); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_29__modules_courses_common_CBreadcrumb__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__modules_courses_common_CNotificationHOC__ = __webpack_require__(350); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_30__modules_courses_common_CNotificationHOC__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__modules_courses_common_ModalWrapper__ = __webpack_require__(333); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "t", function() { return __WEBPACK_IMPORTED_MODULE_31__modules_courses_common_ModalWrapper__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__modules_courses_coursesPublic_NoneData__ = __webpack_require__(328); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "u", function() { return __WEBPACK_IMPORTED_MODULE_32__modules_courses_coursesPublic_NoneData__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__modules_modals_WordNumberTextarea__ = __webpack_require__(774); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "z", function() { return __WEBPACK_IMPORTED_MODULE_33__modules_modals_WordNumberTextarea__["a"]; }); +//import { from } from '_array-flatten@2.1.2@array-flatten'; +// export { default as OrderStateUtil } from '../routes/Order/components/OrderStateUtil'; +// export { default as DragValidator } from './components/DragValidator' +// course +// 外部 + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +var _Object$getOwnPropertySymbols = __webpack_require__(249); + +var _Object$keys = __webpack_require__(49); + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = {}; + + var sourceKeys = _Object$keys(source); + + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + if (_Object$getOwnPropertySymbols) { + var sourceSymbolKeys = _Object$getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +module.exports = _objectWithoutProperties; + +/***/ }), +/* 7 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "polyfill", function() { return polyfill; }); +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +function componentWillMount() { + // Call this.constructor.gDSFP to support sub-classes. + var state = this.constructor.getDerivedStateFromProps(this.props, this.state); + if (state !== null && state !== undefined) { + this.setState(state); + } +} + +function componentWillReceiveProps(nextProps) { + // Call this.constructor.gDSFP to support sub-classes. + // Use the setState() updater to ensure state isn't stale in certain edge cases. + function updater(prevState) { + var state = this.constructor.getDerivedStateFromProps(nextProps, prevState); + return state !== null && state !== undefined ? state : null; + } + // Binding "this" is important for shallow renderer support. + this.setState(updater.bind(this)); +} + +function componentWillUpdate(nextProps, nextState) { + try { + var prevProps = this.props; + var prevState = this.state; + this.props = nextProps; + this.state = nextState; + this.__reactInternalSnapshotFlag = true; + this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate( + prevProps, + prevState + ); + } finally { + this.props = prevProps; + this.state = prevState; + } +} + +// React may warn about cWM/cWRP/cWU methods being deprecated. +// Add a flag to suppress these warnings for this special case. +componentWillMount.__suppressDeprecationWarning = true; +componentWillReceiveProps.__suppressDeprecationWarning = true; +componentWillUpdate.__suppressDeprecationWarning = true; + +function polyfill(Component) { + var prototype = Component.prototype; + + if (!prototype || !prototype.isReactComponent) { + throw new Error('Can only polyfill class components'); + } + + if ( + typeof Component.getDerivedStateFromProps !== 'function' && + typeof prototype.getSnapshotBeforeUpdate !== 'function' + ) { + return Component; + } + + // If new component APIs are defined, "unsafe" lifecycles won't be called. + // Error if any of these lifecycles are present, + // Because they would work differently between older and newer (16.3+) versions of React. + var foundWillMountName = null; + var foundWillReceivePropsName = null; + var foundWillUpdateName = null; + if (typeof prototype.componentWillMount === 'function') { + foundWillMountName = 'componentWillMount'; + } else if (typeof prototype.UNSAFE_componentWillMount === 'function') { + foundWillMountName = 'UNSAFE_componentWillMount'; + } + if (typeof prototype.componentWillReceiveProps === 'function') { + foundWillReceivePropsName = 'componentWillReceiveProps'; + } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') { + foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps'; + } + if (typeof prototype.componentWillUpdate === 'function') { + foundWillUpdateName = 'componentWillUpdate'; + } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') { + foundWillUpdateName = 'UNSAFE_componentWillUpdate'; + } + if ( + foundWillMountName !== null || + foundWillReceivePropsName !== null || + foundWillUpdateName !== null + ) { + var componentName = Component.displayName || Component.name; + var newApiName = + typeof Component.getDerivedStateFromProps === 'function' + ? 'getDerivedStateFromProps()' + : 'getSnapshotBeforeUpdate()'; + + throw Error( + 'Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + + componentName + + ' uses ' + + newApiName + + ' but also contains the following legacy lifecycles:' + + (foundWillMountName !== null ? '\n ' + foundWillMountName : '') + + (foundWillReceivePropsName !== null + ? '\n ' + foundWillReceivePropsName + : '') + + (foundWillUpdateName !== null ? '\n ' + foundWillUpdateName : '') + + '\n\nThe above lifecycles should be removed. Learn more about this warning here:\n' + + 'https://fb.me/react-async-component-lifecycle-hooks' + ); + } + + // React <= 16.2 does not support static getDerivedStateFromProps. + // As a workaround, use cWM and cWRP to invoke the new static lifecycle. + // Newer versions of React will ignore these lifecycles if gDSFP exists. + if (typeof Component.getDerivedStateFromProps === 'function') { + prototype.componentWillMount = componentWillMount; + prototype.componentWillReceiveProps = componentWillReceiveProps; + } + + // React <= 16.2 does not support getSnapshotBeforeUpdate. + // As a workaround, use cWU to invoke the new lifecycle. + // Newer versions of React will ignore that lifecycle if gSBU exists. + if (typeof prototype.getSnapshotBeforeUpdate === 'function') { + if (typeof prototype.componentDidUpdate !== 'function') { + throw new Error( + 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype' + ); + } + + prototype.componentWillUpdate = componentWillUpdate; + + var componentDidUpdate = prototype.componentDidUpdate; + + prototype.componentDidUpdate = function componentDidUpdatePolyfill( + prevProps, + prevState, + maybeSnapshot + ) { + // 16.3+ will not execute our will-update method; + // It will pass a snapshot value to did-update though. + // Older versions will require our polyfilled will-update value. + // We need to handle both cases, but can't just check for the presence of "maybeSnapshot", + // Because for <= 15.x versions this might be a "prevContext" object. + // We also can't just check "__reactInternalSnapshot", + // Because get-snapshot might return a falsy value. + // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior. + var snapshot = this.__reactInternalSnapshotFlag + ? this.__reactInternalSnapshot + : maybeSnapshot; + + componentDidUpdate.call(this, prevProps, prevState, snapshot); + }; + } + + return Component; +} + + + + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +var _Object$assign = __webpack_require__(500); + +function _extends() { + module.exports = _extends = _Object$assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); +} + +module.exports = _extends; + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +exports.default = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _typeof2 = __webpack_require__(117); + +var _typeof3 = _interopRequireDefault(_typeof2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self; +}; + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _setPrototypeOf = __webpack_require__(481); + +var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf); + +var _create = __webpack_require__(484); + +var _create2 = _interopRequireDefault(_create); + +var _typeof2 = __webpack_require__(117); + +var _typeof3 = _interopRequireDefault(_typeof2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass))); + } + + subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass; +}; + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "ConfigConsumer", { + enumerable: true, + get: function get() { + return _context.ConfigConsumer; + } +}); +exports["default"] = exports.configConsumerProps = void 0; + +var React = _interopRequireWildcard(__webpack_require__(0)); + +var _localeProvider = _interopRequireWildcard(__webpack_require__(404)); + +var _LocaleReceiver = _interopRequireDefault(__webpack_require__(71)); + +var _context = __webpack_require__(355); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +var configConsumerProps = ['getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader']; +exports.configConsumerProps = configConsumerProps; + +var ConfigProvider = +/*#__PURE__*/ +function (_React$Component) { + _inherits(ConfigProvider, _React$Component); + + function ConfigProvider() { + var _this; + + _classCallCheck(this, ConfigProvider); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(ConfigProvider).apply(this, arguments)); + + _this.getPrefixCls = function (suffixCls, customizePrefixCls) { + var _this$props$prefixCls = _this.props.prefixCls, + prefixCls = _this$props$prefixCls === void 0 ? 'ant' : _this$props$prefixCls; + if (customizePrefixCls) return customizePrefixCls; + return suffixCls ? "".concat(prefixCls, "-").concat(suffixCls) : prefixCls; + }; + + _this.renderProvider = function (context, legacyLocale) { + var _this$props = _this.props, + children = _this$props.children, + getPopupContainer = _this$props.getPopupContainer, + renderEmpty = _this$props.renderEmpty, + csp = _this$props.csp, + autoInsertSpaceInButton = _this$props.autoInsertSpaceInButton, + locale = _this$props.locale, + pageHeader = _this$props.pageHeader; + + var config = _extends(_extends({}, context), { + getPrefixCls: _this.getPrefixCls, + csp: csp, + autoInsertSpaceInButton: autoInsertSpaceInButton + }); + + if (getPopupContainer) { + config.getPopupContainer = getPopupContainer; + } + + if (renderEmpty) { + config.renderEmpty = renderEmpty; + } + + if (pageHeader) { + config.pageHeader = pageHeader; + } + + return React.createElement(_context.ConfigContext.Provider, { + value: config + }, React.createElement(_localeProvider["default"], { + locale: locale || legacyLocale, + _ANT_MARK__: _localeProvider.ANT_MARK + }, children)); + }; + + return _this; + } + + _createClass(ConfigProvider, [{ + key: "render", + value: function render() { + var _this2 = this; + + return React.createElement(_LocaleReceiver["default"], null, function (_, __, legacyLocale) { + return React.createElement(_context.ConfigConsumer, null, function (context) { + return _this2.renderProvider(context, legacyLocale); + }); + }); + } + }]); + + return ConfigProvider; +}(React.Component); + +var _default = ConfigProvider; +exports["default"] = _default; +//# sourceMappingURL=index.js.map + + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright 2014-2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + + + +/** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + +var warning = function() {}; + +if (false) { + warning = function(condition, format, args) { + var len = arguments.length; + args = new Array(len > 2 ? len - 2 : 0); + for (var key = 2; key < len; key++) { + args[key - 2] = arguments[key]; + } + if (format === undefined) { + throw new Error( + '`warning(condition, format, ...args)` requires a warning ' + + 'message argument' + ); + } + + if (format.length < 10 || (/^[s\W]*$/).test(format)) { + throw new Error( + 'The warning format should be able to uniquely identify this ' + + 'warning. Please, use a more descriptive format than: ' + format + ); + } + + if (!condition) { + var argIndex = 0; + var message = 'Warning: ' + + format.replace(/%s/g, function() { + return args[argIndex++]; + }); + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch(x) {} + } + }; +} + +module.exports = warning; + + +/***/ }), +/* 14 */ +/***/ (function(module, exports) { + +var core = module.exports = { version: '2.6.5' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef + + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(440); + +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +module.exports = _classCallCheck; + +/***/ }), +/* 17 */ +/***/ (function(module, exports, __webpack_require__) { + +var _Object$defineProperty = __webpack_require__(146); + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + + _Object$defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +module.exports = _createClass; + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _assign = __webpack_require__(464); + +var _assign2 = _interopRequireDefault(_assign); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = _assign2.default || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; +}; + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _interopRequireWildcard = __webpack_require__(115); + +var _interopRequireDefault = __webpack_require__(2); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.sheetsManager = void 0; + +var _extends2 = _interopRequireDefault(__webpack_require__(8)); + +var _keys = _interopRequireDefault(__webpack_require__(49)); + +var _objectSpread2 = _interopRequireDefault(__webpack_require__(25)); + +var _getPrototypeOf = _interopRequireDefault(__webpack_require__(21)); + +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(16)); + +var _createClass2 = _interopRequireDefault(__webpack_require__(17)); + +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22)); + +var _inherits2 = _interopRequireDefault(__webpack_require__(23)); + +var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(24)); + +var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(6)); + +var _map = _interopRequireDefault(__webpack_require__(512)); + +var _minSafeInteger = _interopRequireDefault(__webpack_require__(528)); + +var _react = _interopRequireDefault(__webpack_require__(0)); + +var _propTypes = _interopRequireDefault(__webpack_require__(1)); + +var _warning = _interopRequireDefault(__webpack_require__(13)); + +var _hoistNonReactStatics = _interopRequireDefault(__webpack_require__(149)); + +var _getDisplayName = _interopRequireDefault(__webpack_require__(256)); + +var _wrapDisplayName = _interopRequireDefault(__webpack_require__(119)); + +var _contextTypes = _interopRequireDefault(__webpack_require__(531)); + +var _jss = __webpack_require__(258); + +var ns = _interopRequireWildcard(__webpack_require__(257)); + +var _jssPreset = _interopRequireDefault(__webpack_require__(264)); + +var _createMuiTheme = _interopRequireDefault(__webpack_require__(153)); + +var _themeListener = _interopRequireDefault(__webpack_require__(154)); + +var _createGenerateClassName = _interopRequireDefault(__webpack_require__(266)); + +var _getStylesCreator = _interopRequireDefault(__webpack_require__(572)); + +var _getThemeProps = _interopRequireDefault(__webpack_require__(573)); + +// Default JSS instance. +var jss = (0, _jss.create)((0, _jssPreset.default)()); // Use a singleton or the provided one by the context. + +var generateClassName = (0, _createGenerateClassName.default)(); // Global index counter to preserve source order. +// We create the style sheet during at the creation of the component, +// children are handled after the parents, so the order of style elements would be parent->child. +// It is a problem though when a parent passes a className +// which needs to override any childs styles. +// StyleSheet of the child has a higher specificity, because of the source order. +// So our solution is to render sheets them in the reverse order child->sheet, so +// that parent has a higher specificity. + +var indexCounter = _minSafeInteger.default; +var sheetsManager = new _map.default(); // We use the same empty object to ref count the styles that don't need a theme object. + +exports.sheetsManager = sheetsManager; +var noopTheme = {}; // In order to have self-supporting components, we rely on default theme when not provided. + +var defaultTheme; + +function getDefaultTheme() { + if (defaultTheme) { + return defaultTheme; + } + + defaultTheme = (0, _createMuiTheme.default)(); + return defaultTheme; +} // Link a style sheet with a component. +// It does not modify the component passed to it; +// instead, it returns a new component, with a `classes` property. + + +var withStyles = function withStyles(stylesOrCreator) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + return function (Component) { + var _options$withTheme = options.withTheme, + withTheme = _options$withTheme === void 0 ? false : _options$withTheme, + _options$flip = options.flip, + flip = _options$flip === void 0 ? null : _options$flip, + name = options.name, + styleSheetOptions = (0, _objectWithoutProperties2.default)(options, ["withTheme", "flip", "name"]); + var stylesCreator = (0, _getStylesCreator.default)(stylesOrCreator); + var listenToTheme = stylesCreator.themingEnabled || withTheme || typeof name === 'string'; + indexCounter += 1; + stylesCreator.options.index = indexCounter; + false ? (0, _warning.default)(indexCounter < 0, ['Material-UI: you might have a memory leak.', 'The indexCounter is not supposed to grow that much.'].join(' ')) : void 0; + + var WithStyles = + /*#__PURE__*/ + function (_React$Component) { + (0, _inherits2.default)(WithStyles, _React$Component); + + function WithStyles(props, context) { + var _this; + + (0, _classCallCheck2.default)(this, WithStyles); + _this = (0, _possibleConstructorReturn2.default)(this, (WithStyles.__proto__ || (0, _getPrototypeOf.default)(WithStyles)).call(this, props, context)); + Object.defineProperty((0, _assertThisInitialized2.default)(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: {} + }); + Object.defineProperty((0, _assertThisInitialized2.default)(_this), "disableStylesGeneration", { + configurable: true, + enumerable: true, + writable: true, + value: false + }); + Object.defineProperty((0, _assertThisInitialized2.default)(_this), "jss", { + configurable: true, + enumerable: true, + writable: true, + value: null + }); + Object.defineProperty((0, _assertThisInitialized2.default)(_this), "sheetOptions", { + configurable: true, + enumerable: true, + writable: true, + value: null + }); + Object.defineProperty((0, _assertThisInitialized2.default)(_this), "sheetsManager", { + configurable: true, + enumerable: true, + writable: true, + value: sheetsManager + }); + Object.defineProperty((0, _assertThisInitialized2.default)(_this), "stylesCreatorSaved", { + configurable: true, + enumerable: true, + writable: true, + value: null + }); + Object.defineProperty((0, _assertThisInitialized2.default)(_this), "theme", { + configurable: true, + enumerable: true, + writable: true, + value: null + }); + Object.defineProperty((0, _assertThisInitialized2.default)(_this), "unsubscribeId", { + configurable: true, + enumerable: true, + writable: true, + value: null + }); + _this.jss = _this.context[ns.jss] || jss; + var muiThemeProviderOptions = _this.context.muiThemeProviderOptions; + + if (muiThemeProviderOptions) { + if (muiThemeProviderOptions.sheetsManager) { + _this.sheetsManager = muiThemeProviderOptions.sheetsManager; + } + + _this.disableStylesGeneration = muiThemeProviderOptions.disableStylesGeneration; + } // Attach the stylesCreator to the instance of the component as in the context + // of react-hot-loader the hooks can be executed in a different closure context: + // https://github.com/gaearon/react-hot-loader/blob/master/src/patch.dev.js#L107 + + + _this.stylesCreatorSaved = stylesCreator; + _this.sheetOptions = (0, _objectSpread2.default)({ + generateClassName: generateClassName + }, _this.context[ns.sheetOptions]); // We use || as the function call is lazy evaluated. + + _this.theme = listenToTheme ? _themeListener.default.initial(context) || getDefaultTheme() : noopTheme; + + _this.attach(_this.theme); + + _this.cacheClasses = { + // Cache for the finalized classes value. + value: null, + // Cache for the last used classes prop pointer. + lastProp: null, + // Cache for the last used rendered classes pointer. + lastJSS: {} + }; + return _this; + } + + (0, _createClass2.default)(WithStyles, [{ + key: "componentDidMount", + value: function componentDidMount() { + var _this2 = this; + + if (!listenToTheme) { + return; + } + + this.unsubscribeId = _themeListener.default.subscribe(this.context, function (theme) { + var oldTheme = _this2.theme; + _this2.theme = theme; + + _this2.attach(_this2.theme); // Rerender the component so the underlying component gets the theme update. + // By theme update we mean receiving and applying the new class names. + + + _this2.setState({}, function () { + _this2.detach(oldTheme); + }); + }); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + // react-hot-loader specific logic + if (this.stylesCreatorSaved === stylesCreator || "production" === 'production') { + return; + } + + this.detach(this.theme); + this.stylesCreatorSaved = stylesCreator; + this.attach(this.theme); + this.forceUpdate(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.detach(this.theme); + + if (this.unsubscribeId !== null) { + _themeListener.default.unsubscribe(this.context, this.unsubscribeId); + } + } + }, { + key: "getClasses", + value: function getClasses() { + var _this3 = this; + + // Tracks if either the rendered classes or classes prop has changed, + // requiring the generation of a new finalized classes object. + var generate = false; + + if (!this.disableStylesGeneration) { + var sheetManager = this.sheetsManager.get(this.stylesCreatorSaved); + var sheetsManagerTheme = sheetManager.get(this.theme); + + if (sheetsManagerTheme.sheet.classes !== this.cacheClasses.lastJSS) { + this.cacheClasses.lastJSS = sheetsManagerTheme.sheet.classes; + generate = true; + } + } + + if (this.props.classes !== this.cacheClasses.lastProp) { + this.cacheClasses.lastProp = this.props.classes; + generate = true; + } + + if (generate) { + if (this.props.classes) { + this.cacheClasses.value = (0, _objectSpread2.default)({}, this.cacheClasses.lastJSS, (0, _keys.default)(this.props.classes).reduce(function (accumulator, key) { + false ? (0, _warning.default)(_this3.cacheClasses.lastJSS[key] || _this3.disableStylesGeneration, ["Material-UI: the key `".concat(key, "` ") + "provided to the classes property is not implemented in ".concat((0, _getDisplayName.default)(Component), "."), "You can only override one of the following: ".concat((0, _keys.default)(_this3.cacheClasses.lastJSS).join(','))].join('\n')) : void 0; + false ? (0, _warning.default)(!_this3.props.classes[key] || typeof _this3.props.classes[key] === 'string', ["Material-UI: the key `".concat(key, "` ") + "provided to the classes property is not valid for ".concat((0, _getDisplayName.default)(Component), "."), "You need to provide a non empty string instead of: ".concat(_this3.props.classes[key], ".")].join('\n')) : void 0; + + if (_this3.props.classes[key]) { + accumulator[key] = "".concat(_this3.cacheClasses.lastJSS[key], " ").concat(_this3.props.classes[key]); + } + + return accumulator; + }, {})); + } else { + this.cacheClasses.value = this.cacheClasses.lastJSS; + } + } + + return this.cacheClasses.value; + } + }, { + key: "attach", + value: function attach(theme) { + if (this.disableStylesGeneration) { + return; + } + + var stylesCreatorSaved = this.stylesCreatorSaved; + var sheetManager = this.sheetsManager.get(stylesCreatorSaved); + + if (!sheetManager) { + sheetManager = new _map.default(); + this.sheetsManager.set(stylesCreatorSaved, sheetManager); + } + + var sheetManagerTheme = sheetManager.get(theme); + + if (!sheetManagerTheme) { + sheetManagerTheme = { + refs: 0, + sheet: null + }; + sheetManager.set(theme, sheetManagerTheme); + } + + if (sheetManagerTheme.refs === 0) { + var styles = stylesCreatorSaved.create(theme, name); + var meta = name; + + if (false) { + meta = (0, _getDisplayName.default)(Component); + } + + var sheet = this.jss.createStyleSheet(styles, (0, _objectSpread2.default)({ + meta: meta, + classNamePrefix: meta, + flip: typeof flip === 'boolean' ? flip : theme.direction === 'rtl', + link: false + }, this.sheetOptions, stylesCreatorSaved.options, { + name: name + }, styleSheetOptions)); + sheetManagerTheme.sheet = sheet; + sheet.attach(); + var sheetsRegistry = this.context[ns.sheetsRegistry]; + + if (sheetsRegistry) { + sheetsRegistry.add(sheet); + } + } + + sheetManagerTheme.refs += 1; + } + }, { + key: "detach", + value: function detach(theme) { + if (this.disableStylesGeneration) { + return; + } + + var stylesCreatorSaved = this.stylesCreatorSaved; + var sheetManager = this.sheetsManager.get(stylesCreatorSaved); + var sheetManagerTheme = sheetManager.get(theme); + sheetManagerTheme.refs -= 1; + + if (sheetManagerTheme.refs === 0) { + sheetManager.delete(theme); + this.jss.removeStyleSheet(sheetManagerTheme.sheet); + var sheetsRegistry = this.context[ns.sheetsRegistry]; + + if (sheetsRegistry) { + sheetsRegistry.remove(sheetManagerTheme.sheet); + } + } + } + }, { + key: "render", + value: function render() { + var _props = this.props, + classes = _props.classes, + innerRef = _props.innerRef, + other = (0, _objectWithoutProperties2.default)(_props, ["classes", "innerRef"]); + var more = (0, _getThemeProps.default)({ + theme: this.theme, + name: name + }); // Provide the theme to the wrapped component. + // So we don't have to use the `withTheme()` Higher-order Component. + + if (withTheme) { + more.theme = this.theme; + } + + return _react.default.createElement(Component, (0, _extends2.default)({}, more, { + classes: this.getClasses(), + ref: innerRef + }, other)); + } + }]); + return WithStyles; + }(_react.default.Component); + + WithStyles.propTypes = false ? { + /** + * Useful to extend the style applied to components. + */ + classes: _propTypes.default.object, + + /** + * Use that property to pass a ref callback to the decorated component. + */ + innerRef: _propTypes.default.func + } : {}; + WithStyles.contextTypes = (0, _objectSpread2.default)({ + muiThemeProviderOptions: _propTypes.default.object + }, _contextTypes.default, listenToTheme ? _themeListener.default.contextTypes : {}); + + if (false) { + WithStyles.displayName = (0, _wrapDisplayName.default)(Component, 'WithStyles'); + } + + (0, _hoistNonReactStatics.default)(WithStyles, Component); + + if (false) { + // Exposed for test purposes. + WithStyles.Naked = Component; + WithStyles.options = options; + } + + return WithStyles; + }; +}; + +var _default = withStyles; +exports.default = _default; + +/***/ }), +/* 20 */ +/***/ (function(module, exports, __webpack_require__) { + +var _Object$defineProperty = __webpack_require__(146); + +function _defineProperty(obj, key, value) { + if (key in obj) { + _Object$defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +module.exports = _defineProperty; + +/***/ }), +/* 21 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(505); + +/***/ }), +/* 22 */ +/***/ (function(module, exports, __webpack_require__) { + +var _typeof = __webpack_require__(250); + +var assertThisInitialized = __webpack_require__(24); + +function _possibleConstructorReturn(self, call) { + if (call && (_typeof(call) === "object" || typeof call === "function")) { + return call; + } + + return assertThisInitialized(self); +} + +module.exports = _possibleConstructorReturn; + +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { + +var _Object$create = __webpack_require__(509); + +var setPrototypeOf = __webpack_require__(510); + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = _Object$create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) setPrototypeOf(subClass, superClass); +} + +module.exports = _inherits; + +/***/ }), +/* 24 */ +/***/ (function(module, exports) { + +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +module.exports = _assertThisInitialized; + +/***/ }), +/* 25 */ +/***/ (function(module, exports, __webpack_require__) { + +var _Object$getOwnPropertyDescriptor = __webpack_require__(248); + +var _Object$getOwnPropertySymbols = __webpack_require__(249); + +var _Object$keys = __webpack_require__(49); + +var defineProperty = __webpack_require__(20); + +function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + var ownKeys = _Object$keys(source); + + if (typeof _Object$getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(_Object$getOwnPropertySymbols(source).filter(function (sym) { + return _Object$getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + defineProperty(target, key, source[key]); + }); + } + + return target; +} + +module.exports = _objectSpread; + +/***/ }), +/* 26 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var React = _interopRequireWildcard(__webpack_require__(0)); + +var _classnames = _interopRequireDefault(__webpack_require__(3)); + +var allIcons = _interopRequireWildcard(__webpack_require__(491)); + +var _iconsReact = _interopRequireDefault(__webpack_require__(247)); + +var _IconFont = _interopRequireDefault(__webpack_require__(496)); + +var _utils = __webpack_require__(497); + +var _warning = _interopRequireDefault(__webpack_require__(40)); + +var _LocaleReceiver = _interopRequireDefault(__webpack_require__(71)); + +var _twoTonePrimaryColor = __webpack_require__(498); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +var __rest = void 0 && (void 0).__rest || function (s, e) { + var t = {}; + + for (var p in s) { + if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; + } + + if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; + } + return t; +}; +/* eslint-disable camelcase */ + + +// Initial setting +_iconsReact["default"].add.apply(_iconsReact["default"], _toConsumableArray(Object.keys(allIcons).map(function (key) { + return allIcons[key]; +}))); + +(0, _twoTonePrimaryColor.setTwoToneColor)('#1890ff'); +var defaultTheme = 'outlined'; +var dangerousTheme; + +function unstable_ChangeThemeOfIconsDangerously(theme) { + (0, _warning["default"])(false, 'Icon', "You are using the unstable method 'Icon.unstable_ChangeThemeOfAllIconsDangerously', " + "make sure that all the icons with theme '".concat(theme, "' display correctly.")); + dangerousTheme = theme; +} + +function unstable_ChangeDefaultThemeOfIcons(theme) { + (0, _warning["default"])(false, 'Icon', "You are using the unstable method 'Icon.unstable_ChangeDefaultThemeOfIcons', " + "make sure that all the icons with theme '".concat(theme, "' display correctly.")); + defaultTheme = theme; +} + +var Icon = function Icon(props) { + var _classNames; + + var className = props.className, + type = props.type, + Component = props.component, + viewBox = props.viewBox, + spin = props.spin, + rotate = props.rotate, + tabIndex = props.tabIndex, + onClick = props.onClick, + children = props.children, + theme = props.theme, + twoToneColor = props.twoToneColor, + restProps = __rest(props, ["className", "type", "component", "viewBox", "spin", "rotate", "tabIndex", "onClick", "children", "theme", "twoToneColor"]); + + (0, _warning["default"])(Boolean(type || Component || children), 'Icon', 'Should have `type` prop or `component` prop or `children`.'); + var classString = (0, _classnames["default"])((_classNames = {}, _defineProperty(_classNames, "anticon", true), _defineProperty(_classNames, "anticon-".concat(type), Boolean(type)), _classNames), className); + var svgClassString = (0, _classnames["default"])(_defineProperty({}, "anticon-spin", !!spin || type === 'loading')); + var svgStyle = rotate ? { + msTransform: "rotate(".concat(rotate, "deg)"), + transform: "rotate(".concat(rotate, "deg)") + } : undefined; + + var innerSvgProps = _extends(_extends({}, _utils.svgBaseProps), { + className: svgClassString, + style: svgStyle, + viewBox: viewBox + }); + + if (!viewBox) { + delete innerSvgProps.viewBox; + } + + var renderInnerNode = function renderInnerNode() { + // component > children > type + if (Component) { + return React.createElement(Component, innerSvgProps, children); + } + + if (children) { + (0, _warning["default"])(Boolean(viewBox) || React.Children.count(children) === 1 && React.isValidElement(children) && React.Children.only(children).type === 'use', 'Icon', 'Make sure that you provide correct `viewBox`' + ' prop (default `0 0 1024 1024`) to the icon.'); + return React.createElement("svg", _extends({}, innerSvgProps, { + viewBox: viewBox + }), children); + } + + if (typeof type === 'string') { + var computedType = type; + + if (theme) { + var themeInName = (0, _utils.getThemeFromTypeName)(type); + (0, _warning["default"])(!themeInName || theme === themeInName, 'Icon', "The icon name '".concat(type, "' already specify a theme '").concat(themeInName, "',") + " the 'theme' prop '".concat(theme, "' will be ignored.")); + } + + computedType = (0, _utils.withThemeSuffix)((0, _utils.removeTypeTheme)((0, _utils.alias)(computedType)), dangerousTheme || theme || defaultTheme); + return React.createElement(_iconsReact["default"], { + className: svgClassString, + type: computedType, + primaryColor: twoToneColor, + style: svgStyle + }); + } + }; + + var iconTabIndex = tabIndex; + + if (iconTabIndex === undefined && onClick) { + iconTabIndex = -1; + } + + return React.createElement(_LocaleReceiver["default"], { + componentName: "Icon" + }, function (locale) { + return React.createElement("i", _extends({ + "aria-label": type && "".concat(locale.icon, ": ").concat(type) + }, restProps, { + tabIndex: iconTabIndex, + onClick: onClick, + className: classString + }), renderInnerNode()); + }); +}; + +Icon.createFromIconfontCN = _IconFont["default"]; +Icon.getTwoToneColor = _twoTonePrimaryColor.getTwoToneColor; +Icon.setTwoToneColor = _twoTonePrimaryColor.setTwoToneColor; +var _default = Icon; +exports["default"] = _default; +//# sourceMappingURL=index.js.map + + +/***/ }), +/* 27 */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(37); +var core = __webpack_require__(14); +var ctx = __webpack_require__(55); +var hide = __webpack_require__(48); +var has = __webpack_require__(57); +var PROTOTYPE = 'prototype'; + +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var IS_WRAP = type & $export.W; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE]; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; + var key, own, out; + if (IS_GLOBAL) source = name; + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + if (own && has(exports, key)) continue; + // export native or passed + out = own ? target[key] : source[key]; + // prevent global pollution for namespaces + exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] + // bind timers to global for call from export context + : IS_BIND && own ? ctx(out, global) + // wrap global constructors for prevent change them in library + : IS_WRAP && target[key] == out ? (function (C) { + var F = function (a, b, c) { + if (this instanceof C) { + switch (arguments.length) { + case 0: return new C(); + case 1: return new C(a); + case 2: return new C(a, b); + } return new C(a, b, c); + } return C.apply(this, arguments); + }; + F[PROTOTYPE] = C[PROTOTYPE]; + return F; + // make static versions for prototype methods + })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% + if (IS_PROTO) { + (exports.virtual || (exports.virtual = {}))[key] = out; + // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% + if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); + } + } +}; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +$export.U = 64; // safe +$export.R = 128; // real proto method for `library` +module.exports = $export; + + +/***/ }), +/* 28 */ +/***/ (function(module, exports) { + +// removed by extract-text-webpack-plugin + +/***/ }), +/* 29 */ +/***/ (function(module, exports, __webpack_require__) { + +var store = __webpack_require__(138)('wks'); +var uid = __webpack_require__(99); +var Symbol = __webpack_require__(37).Symbol; +var USE_SYMBOL = typeof Symbol == 'function'; + +var $exports = module.exports = function (name) { + return store[name] || (store[name] = + USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +}; + +$exports.store = store; + + +/***/ }), +/* 30 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseStartTime = parseStartTime; +exports.parseEndTime = parseEndTime; +exports.randomString = randomString; +exports.queryString = queryString; +exports.getSDK = getSDK; +exports.getConfig = getConfig; +exports.omit = omit; +exports.callPlayer = callPlayer; +exports.isObject = isObject; +exports.isEqual = isEqual; +exports.isMediaStream = isMediaStream; + +var _react = __webpack_require__(0); + +var _loadScript = _interopRequireDefault(__webpack_require__(759)); + +var _deepmerge = _interopRequireDefault(__webpack_require__(760)); + +var _props = __webpack_require__(109); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +var MATCH_START_QUERY = /[?&#](?:start|t)=([0-9hms]+)/; +var MATCH_END_QUERY = /[?&#]end=([0-9hms]+)/; +var MATCH_START_STAMP = /(\d+)(h|m|s)/g; +var MATCH_NUMERIC = /^\d+$/; // Parse YouTube URL for a start time param, ie ?t=1h14m30s +// and return the start time in seconds + +function parseTimeParam(url, pattern) { + var match = url.match(pattern); + + if (match) { + var stamp = match[1]; + + if (stamp.match(MATCH_START_STAMP)) { + return parseTimeString(stamp); + } + + if (MATCH_NUMERIC.test(stamp)) { + return parseInt(stamp); + } + } + + return undefined; +} + +function parseTimeString(stamp) { + var seconds = 0; + var array = MATCH_START_STAMP.exec(stamp); + + while (array !== null) { + var _array = array, + _array2 = _slicedToArray(_array, 3), + count = _array2[1], + period = _array2[2]; + + if (period === 'h') seconds += parseInt(count, 10) * 60 * 60; + if (period === 'm') seconds += parseInt(count, 10) * 60; + if (period === 's') seconds += parseInt(count, 10); + array = MATCH_START_STAMP.exec(stamp); + } + + return seconds; +} + +function parseStartTime(url) { + return parseTimeParam(url, MATCH_START_QUERY); +} + +function parseEndTime(url) { + return parseTimeParam(url, MATCH_END_QUERY); +} // http://stackoverflow.com/a/38622545 + + +function randomString() { + return Math.random().toString(36).substr(2, 5); +} + +function queryString(object) { + return Object.keys(object).map(function (key) { + return "".concat(key, "=").concat(object[key]); + }).join('&'); +} // Util function to load an external SDK +// or return the SDK if it is already loaded + + +var requests = {}; + +function getSDK(url, sdkGlobal) { + var sdkReady = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var isLoaded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () { + return true; + }; + var fetchScript = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _loadScript["default"]; + + if (window[sdkGlobal] && isLoaded(window[sdkGlobal])) { + return Promise.resolve(window[sdkGlobal]); + } + + return new Promise(function (resolve, reject) { + // If we are already loading the SDK, add the resolve and reject + // functions to the existing array of requests + if (requests[url]) { + requests[url].push({ + resolve: resolve, + reject: reject + }); + return; + } + + requests[url] = [{ + resolve: resolve, + reject: reject + }]; + + var onLoaded = function onLoaded(sdk) { + // When loaded, resolve all pending request promises + requests[url].forEach(function (request) { + return request.resolve(sdk); + }); + }; + + if (sdkReady) { + var previousOnReady = window[sdkReady]; + + window[sdkReady] = function () { + if (previousOnReady) previousOnReady(); + onLoaded(window[sdkGlobal]); + }; + } + + fetchScript(url, function (err) { + if (err) { + // Loading the SDK failed – reject all requests and + // reset the array of requests for this SDK + requests[url].forEach(function (request) { + return request.reject(err); + }); + requests[url] = null; + } else if (!sdkReady) { + onLoaded(window[sdkGlobal]); + } + }); + }); +} + +function getConfig(props, defaultProps, showWarning) { + var config = (0, _deepmerge["default"])(defaultProps.config, props.config); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = _props.DEPRECATED_CONFIG_PROPS[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var p = _step.value; + + if (props[p]) { + var key = p.replace(/Config$/, ''); + config = (0, _deepmerge["default"])(config, _defineProperty({}, key, props[p])); + + if (showWarning) { + var link = 'https://github.com/CookPete/react-player#config-prop'; + var message = "ReactPlayer: %c".concat(p, " %cis deprecated, please use the config prop instead \u2013 ").concat(link); + console.warn(message, 'font-weight: bold', ''); + } + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator["return"] != null) { + _iterator["return"](); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return config; +} + +function omit(object) { + var _ref; + + for (var _len = arguments.length, arrays = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + arrays[_key - 1] = arguments[_key]; + } + + var omitKeys = (_ref = []).concat.apply(_ref, arrays); + + var output = {}; + var keys = Object.keys(object); + + for (var _i2 = 0, _keys = keys; _i2 < _keys.length; _i2++) { + var key = _keys[_i2]; + + if (omitKeys.indexOf(key) === -1) { + output[key] = object[key]; + } + } + + return output; +} + +function callPlayer(method) { + var _this$player; + + // Util method for calling a method on this.player + // but guard against errors and console.warn instead + if (!this.player || !this.player[method]) { + var message = "ReactPlayer: ".concat(this.constructor.displayName, " player could not call %c").concat(method, "%c \u2013 "); + + if (!this.player) { + message += 'The player was not available'; + } else if (!this.player[method]) { + message += 'The method was not available'; + } + + console.warn(message, 'font-weight: bold', ''); + return null; + } + + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + + return (_this$player = this.player)[method].apply(_this$player, args); +} + +function isObject(val) { + return val !== null && _typeof(val) === 'object'; +} // Deep comparison of two objects, but ignoring functions +// and React elements, for use in shouldComponentUpdate + + +function isEqual(a, b) { + if (typeof a === 'function' && typeof b === 'function') { + return true; + } + + if ((0, _react.isValidElement)(a) && (0, _react.isValidElement)(b)) { + return true; + } + + if (a instanceof Array && b instanceof Array) { + if (a.length !== b.length) { + return false; + } + + for (var i = 0; i !== a.length; i++) { + if (!isEqual(a[i], b[i])) { + return false; + } + } + + return true; + } + + if (isObject(a) && isObject(b)) { + if (Object.keys(a).length !== Object.keys(b).length) { + return false; + } + + for (var _i3 = 0, _Object$keys = Object.keys(a); _i3 < _Object$keys.length; _i3++) { + var key = _Object$keys[_i3]; + + if (!isEqual(a[key], b[key])) { + return false; + } + } + + return true; + } + + return a === b; +} + +function isMediaStream(url) { + return typeof window !== 'undefined' && typeof window.MediaStream !== 'undefined' && url instanceof window.MediaStream; +} + +/***/ }), +/* 31 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _defineProperty = __webpack_require__(229); + +var _defineProperty2 = _interopRequireDefault(_defineProperty); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + (0, _defineProperty2.default)(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; +}(); + +/***/ }), +/* 32 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +__webpack_require__(28); + +__webpack_require__(273); + +__webpack_require__(87); +//# sourceMappingURL=css.js.map + + +/***/ }), +/* 33 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var React = _interopRequireWildcard(__webpack_require__(0)); + +var _Modal = _interopRequireWildcard(__webpack_require__(274)); + +var _confirm = _interopRequireDefault(__webpack_require__(672)); + +var _icon = _interopRequireDefault(__webpack_require__(26)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function modalWarn(props) { + var config = _extends({ + type: 'warning', + icon: React.createElement(_icon["default"], { + type: "exclamation-circle" + }), + okCancel: false + }, props); + + return (0, _confirm["default"])(config); +} + +_Modal["default"].info = function infoFn(props) { + var config = _extends({ + type: 'info', + icon: React.createElement(_icon["default"], { + type: "info-circle" + }), + okCancel: false + }, props); + + return (0, _confirm["default"])(config); +}; + +_Modal["default"].success = function successFn(props) { + var config = _extends({ + type: 'success', + icon: React.createElement(_icon["default"], { + type: "check-circle" + }), + okCancel: false + }, props); + + return (0, _confirm["default"])(config); +}; + +_Modal["default"].error = function errorFn(props) { + var config = _extends({ + type: 'error', + icon: React.createElement(_icon["default"], { + type: "close-circle" + }), + okCancel: false + }, props); + + return (0, _confirm["default"])(config); +}; + +_Modal["default"].warning = modalWarn; +_Modal["default"].warn = modalWarn; + +_Modal["default"].confirm = function confirmFn(props) { + var config = _extends({ + type: 'confirm', + okCancel: true + }, props); + + return (0, _confirm["default"])(config); +}; + +_Modal["default"].destroyAll = function destroyAllFn() { + while (_Modal.destroyFns.length) { + var close = _Modal.destroyFns.pop(); + + if (close) { + close(); + } + } +}; + +var _default = _Modal["default"]; +exports["default"] = _default; +//# sourceMappingURL=index.js.map + + +/***/ }), +/* 34 */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1,eval)("this"); +} catch(e) { + // This works if the window reference is available + if(typeof window === "object") + g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), +/* 35 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var bind = __webpack_require__(223); +var isBuffer = __webpack_require__(441); + +/*global toString:true*/ + +// utils is a library of generic helper functions non-specific to axios + +var toString = Object.prototype.toString; + +/** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Array, otherwise false + */ +function isArray(val) { + return toString.call(val) === '[object Array]'; +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +function isArrayBuffer(val) { + return toString.call(val) === '[object ArrayBuffer]'; +} + +/** + * Determine if a value is a FormData + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an FormData, otherwise false + */ +function isFormData(val) { + return (typeof FormData !== 'undefined') && (val instanceof FormData); +} + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + var result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a String, otherwise false + */ +function isString(val) { + return typeof val === 'string'; +} + +/** + * Determine if a value is a Number + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Number, otherwise false + */ +function isNumber(val) { + return typeof val === 'number'; +} + +/** + * Determine if a value is undefined + * + * @param {Object} val The value to test + * @returns {boolean} True if the value is undefined, otherwise false + */ +function isUndefined(val) { + return typeof val === 'undefined'; +} + +/** + * Determine if a value is an Object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Object, otherwise false + */ +function isObject(val) { + return val !== null && typeof val === 'object'; +} + +/** + * Determine if a value is a Date + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Date, otherwise false + */ +function isDate(val) { + return toString.call(val) === '[object Date]'; +} + +/** + * Determine if a value is a File + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a File, otherwise false + */ +function isFile(val) { + return toString.call(val) === '[object File]'; +} + +/** + * Determine if a value is a Blob + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Blob, otherwise false + */ +function isBlob(val) { + return toString.call(val) === '[object Blob]'; +} + +/** + * Determine if a value is a Function + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +function isFunction(val) { + return toString.call(val) === '[object Function]'; +} + +/** + * Determine if a value is a Stream + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Stream, otherwise false + */ +function isStream(val) { + return isObject(val) && isFunction(val.pipe); +} + +/** + * Determine if a value is a URLSearchParams object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +function isURLSearchParams(val) { + return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; +} + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * @returns {String} The String freed of excess whitespace + */ +function trim(str) { + return str.replace(/^\s*/, '').replace(/\s*$/, ''); +} + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + */ +function isStandardBrowserEnv() { + if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') { + return false; + } + return ( + typeof window !== 'undefined' && + typeof document !== 'undefined' + ); +} + +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + */ +function forEach(obj, fn) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (var i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Iterate over object keys + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj); + } + } + } +} + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (typeof result[key] === 'object' && typeof val === 'object') { + result[key] = merge(result[key], val); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * @return {Object} The resulting value of object a + */ +function extend(a, b, thisArg) { + forEach(b, function assignValue(val, key) { + if (thisArg && typeof val === 'function') { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }); + return a; +} + +module.exports = { + isArray: isArray, + isArrayBuffer: isArrayBuffer, + isBuffer: isBuffer, + isFormData: isFormData, + isArrayBufferView: isArrayBufferView, + isString: isString, + isNumber: isNumber, + isObject: isObject, + isUndefined: isUndefined, + isDate: isDate, + isFile: isFile, + isBlob: isBlob, + isFunction: isFunction, + isStream: isStream, + isURLSearchParams: isURLSearchParams, + isStandardBrowserEnv: isStandardBrowserEnv, + forEach: forEach, + merge: merge, + extend: extend, + trim: trim +}; + + +/***/ }), +/* 36 */ +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__(53); +var IE8_DOM_DEFINE = __webpack_require__(232); +var toPrimitive = __webpack_require__(132); +var dP = Object.defineProperty; + +exports.f = __webpack_require__(38) ? Object.defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), +/* 37 */ +/***/ (function(module, exports) { + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef + + +/***/ }), +/* 38 */ +/***/ (function(module, exports, __webpack_require__) { + +// Thank's IE8 for his funny defineProperty +module.exports = !__webpack_require__(56)(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); + + +/***/ }), +/* 39 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = createSinglePlayer; + +var _react = _interopRequireWildcard(__webpack_require__(0)); + +var _props = __webpack_require__(109); + +var _utils = __webpack_require__(30); + +var _Player = _interopRequireDefault(__webpack_require__(160)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SUPPORTED_PROPS = Object.keys(_props.propTypes); + +function createSinglePlayer(activePlayer) { + var _class, _temp; + + return _temp = _class = + /*#__PURE__*/ + function (_Component) { + _inherits(SinglePlayer, _Component); + + function SinglePlayer() { + var _getPrototypeOf2; + + var _this; + + _classCallCheck(this, SinglePlayer); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(SinglePlayer)).call.apply(_getPrototypeOf2, [this].concat(args))); + + _defineProperty(_assertThisInitialized(_this), "config", (0, _utils.getConfig)(_this.props, _props.defaultProps, true)); + + _defineProperty(_assertThisInitialized(_this), "getDuration", function () { + if (!_this.player) return null; + return _this.player.getDuration(); + }); + + _defineProperty(_assertThisInitialized(_this), "getCurrentTime", function () { + if (!_this.player) return null; + return _this.player.getCurrentTime(); + }); + + _defineProperty(_assertThisInitialized(_this), "getSecondsLoaded", function () { + if (!_this.player) return null; + return _this.player.getSecondsLoaded(); + }); + + _defineProperty(_assertThisInitialized(_this), "getInternalPlayer", function () { + var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'player'; + if (!_this.player) return null; + return _this.player.getInternalPlayer(key); + }); + + _defineProperty(_assertThisInitialized(_this), "seekTo", function (fraction, type) { + if (!_this.player) return null; + + _this.player.seekTo(fraction, type); + }); + + _defineProperty(_assertThisInitialized(_this), "ref", function (player) { + _this.player = player; + }); + + return _this; + } + + _createClass(SinglePlayer, [{ + key: "shouldComponentUpdate", + value: function shouldComponentUpdate(nextProps) { + return !(0, _utils.isEqual)(this.props, nextProps); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + this.config = (0, _utils.getConfig)(this.props, _props.defaultProps); + } + }, { + key: "render", + value: function render() { + var _this$config$file = this.config.file, + forceVideo = _this$config$file.forceVideo, + forceAudio = _this$config$file.forceAudio, + forceHLS = _this$config$file.forceHLS, + forceDASH = _this$config$file.forceDASH; + var skipCanPlay = forceVideo || forceAudio || forceHLS || forceDASH; + + if (!activePlayer.canPlay(this.props.url) && !skipCanPlay) { + return null; + } + + var _this$props = this.props, + style = _this$props.style, + width = _this$props.width, + height = _this$props.height, + Wrapper = _this$props.wrapper; + var otherProps = (0, _utils.omit)(this.props, SUPPORTED_PROPS, _props.DEPRECATED_CONFIG_PROPS); + return _react["default"].createElement(Wrapper, _extends({ + style: _objectSpread({}, style, { + width: width, + height: height + }) + }, otherProps), _react["default"].createElement(_Player["default"], _extends({}, this.props, { + ref: this.ref, + activePlayer: activePlayer, + config: this.config + }))); + } + }]); + + return SinglePlayer; + }(_react.Component), _defineProperty(_class, "displayName", "".concat(activePlayer.displayName, "Player")), _defineProperty(_class, "propTypes", _props.propTypes), _defineProperty(_class, "defaultProps", _props.defaultProps), _defineProperty(_class, "canPlay", activePlayer.canPlay), _temp; +} + +/***/ }), +/* 40 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "resetWarned", { + enumerable: true, + get: function get() { + return _warning.resetWarned; + } +}); +exports["default"] = void 0; + +var _warning = _interopRequireWildcard(__webpack_require__(407)); + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +var _default = function _default(valid, component, message) { + (0, _warning["default"])(valid, "[antd: ".concat(component, "] ").concat(message)); +}; + +exports["default"] = _default; +//# sourceMappingURL=warning.js.map + + +/***/ }), +/* 41 */ +/***/ (function(module, exports) { + +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + + +/***/ }), +/* 42 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; +exports.default = ownerDocument; + +function ownerDocument(node) { + return node && node.ownerDocument || document; +} + +module.exports = exports["default"]; + +/***/ }), +/* 43 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__); + +function omit(obj, fields) { + var shallowCopy = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, obj); + for (var i = 0; i < fields.length; i++) { + var key = fields[i]; + delete shallowCopy[key]; + } + return shallowCopy; +} + +/* harmony default export */ __webpack_exports__["default"] = (omit); + +/***/ }), +/* 44 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__BrowserRouter__ = __webpack_require__(423); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__BrowserRouter__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__HashRouter__ = __webpack_require__(428); +/* unused harmony reexport HashRouter */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Link__ = __webpack_require__(214); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_2__Link__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__MemoryRouter__ = __webpack_require__(429); +/* unused harmony reexport MemoryRouter */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__NavLink__ = __webpack_require__(430); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_4__NavLink__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Prompt__ = __webpack_require__(432); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_5__Prompt__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Redirect__ = __webpack_require__(433); +/* unused harmony reexport Redirect */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Route__ = __webpack_require__(216); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_7__Route__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Router__ = __webpack_require__(128); +/* unused harmony reexport Router */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__StaticRouter__ = __webpack_require__(434); +/* unused harmony reexport StaticRouter */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Switch__ = __webpack_require__(435); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_10__Switch__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__generatePath__ = __webpack_require__(436); +/* unused harmony reexport generatePath */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__matchPath__ = __webpack_require__(437); +/* unused harmony reexport matchPath */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__withRouter__ = __webpack_require__(438); +/* unused harmony reexport withRouter */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/***/ }), +/* 45 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +__webpack_require__(28); + +__webpack_require__(461); +//# sourceMappingURL=css.js.map + + +/***/ }), +/* 46 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var React = _interopRequireWildcard(__webpack_require__(0)); + +var _rcNotification = _interopRequireDefault(__webpack_require__(228)); + +var _icon = _interopRequireDefault(__webpack_require__(26)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var notificationInstance = {}; +var defaultDuration = 4.5; +var defaultTop = 24; +var defaultBottom = 24; +var defaultPlacement = 'topRight'; +var defaultGetContainer; +var defaultCloseIcon; + +function setNotificationConfig(options) { + var duration = options.duration, + placement = options.placement, + bottom = options.bottom, + top = options.top, + getContainer = options.getContainer, + closeIcon = options.closeIcon; + + if (duration !== undefined) { + defaultDuration = duration; + } + + if (placement !== undefined) { + defaultPlacement = placement; + } + + if (bottom !== undefined) { + defaultBottom = bottom; + } + + if (top !== undefined) { + defaultTop = top; + } + + if (getContainer !== undefined) { + defaultGetContainer = getContainer; + } + + if (closeIcon !== undefined) { + defaultCloseIcon = closeIcon; + } +} + +function getPlacementStyle(placement) { + var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultTop; + var bottom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultBottom; + var style; + + switch (placement) { + case 'topLeft': + style = { + left: 0, + top: top, + bottom: 'auto' + }; + break; + + case 'topRight': + style = { + right: 0, + top: top, + bottom: 'auto' + }; + break; + + case 'bottomLeft': + style = { + left: 0, + top: 'auto', + bottom: bottom + }; + break; + + default: + style = { + right: 0, + top: 'auto', + bottom: bottom + }; + break; + } + + return style; +} + +function getNotificationInstance(_ref, callback) { + var prefixCls = _ref.prefixCls, + _ref$placement = _ref.placement, + placement = _ref$placement === void 0 ? defaultPlacement : _ref$placement, + _ref$getContainer = _ref.getContainer, + getContainer = _ref$getContainer === void 0 ? defaultGetContainer : _ref$getContainer, + top = _ref.top, + bottom = _ref.bottom, + _ref$closeIcon = _ref.closeIcon, + closeIcon = _ref$closeIcon === void 0 ? defaultCloseIcon : _ref$closeIcon; + var cacheKey = "".concat(prefixCls, "-").concat(placement); + + if (notificationInstance[cacheKey]) { + callback(notificationInstance[cacheKey]); + return; + } + + var closeIconToRender = React.createElement("span", { + className: "".concat(prefixCls, "-close-x") + }, closeIcon || React.createElement(_icon["default"], { + className: "".concat(prefixCls, "-close-icon"), + type: "close" + })); + + _rcNotification["default"].newInstance({ + prefixCls: prefixCls, + className: "".concat(prefixCls, "-").concat(placement), + style: getPlacementStyle(placement, top, bottom), + getContainer: getContainer, + closeIcon: closeIconToRender + }, function (notification) { + notificationInstance[cacheKey] = notification; + callback(notification); + }); +} + +var typeToIcon = { + success: 'check-circle-o', + info: 'info-circle-o', + error: 'close-circle-o', + warning: 'exclamation-circle-o' +}; + +function notice(args) { + var outerPrefixCls = args.prefixCls || 'ant-notification'; + var prefixCls = "".concat(outerPrefixCls, "-notice"); + var duration = args.duration === undefined ? defaultDuration : args.duration; + var iconNode = null; + + if (args.icon) { + iconNode = React.createElement("span", { + className: "".concat(prefixCls, "-icon") + }, args.icon); + } else if (args.type) { + var iconType = typeToIcon[args.type]; + iconNode = React.createElement(_icon["default"], { + className: "".concat(prefixCls, "-icon ").concat(prefixCls, "-icon-").concat(args.type), + type: iconType + }); + } + + var autoMarginTag = !args.description && iconNode ? React.createElement("span", { + className: "".concat(prefixCls, "-message-single-line-auto-margin") + }) : null; + var placement = args.placement, + top = args.top, + bottom = args.bottom, + getContainer = args.getContainer, + closeIcon = args.closeIcon; + getNotificationInstance({ + prefixCls: outerPrefixCls, + placement: placement, + top: top, + bottom: bottom, + getContainer: getContainer, + closeIcon: closeIcon + }, function (notification) { + notification.notice({ + content: React.createElement("div", { + className: iconNode ? "".concat(prefixCls, "-with-icon") : '' + }, iconNode, React.createElement("div", { + className: "".concat(prefixCls, "-message") + }, autoMarginTag, args.message), React.createElement("div", { + className: "".concat(prefixCls, "-description") + }, args.description), args.btn ? React.createElement("span", { + className: "".concat(prefixCls, "-btn") + }, args.btn) : null), + duration: duration, + closable: true, + onClose: args.onClose, + onClick: args.onClick, + key: args.key, + style: args.style || {}, + className: args.className + }); + }); +} + +var api = { + open: notice, + close: function close(key) { + Object.keys(notificationInstance).forEach(function (cacheKey) { + return notificationInstance[cacheKey].removeNotice(key); + }); + }, + config: setNotificationConfig, + destroy: function destroy() { + Object.keys(notificationInstance).forEach(function (cacheKey) { + notificationInstance[cacheKey].destroy(); + delete notificationInstance[cacheKey]; + }); + } +}; +['success', 'info', 'warning', 'error'].forEach(function (type) { + api[type] = function (args) { + return api.open(_extends(_extends({}, args), { + type: type + })); + }; +}); +api.warn = api.warning; +var _default = api; +exports["default"] = _default; +//# sourceMappingURL=index.js.map + + +/***/ }), +/* 47 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +/** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + +var invariant = function(condition, format, a, b, c, d, e, f) { + if (false) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + } + + if (!condition) { + var error; + if (format === undefined) { + error = new Error( + 'Minified exception occurred; use the non-minified dev environment ' + + 'for the full error message and additional helpful warnings.' + ); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error( + format.replace(/%s/g, function() { return args[argIndex++]; }) + ); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } +}; + +module.exports = invariant; + + +/***/ }), +/* 48 */ +/***/ (function(module, exports, __webpack_require__) { + +var dP = __webpack_require__(36); +var createDesc = __webpack_require__(80); +module.exports = __webpack_require__(38) ? function (object, key, value) { + return dP.f(object, key, createDesc(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), +/* 49 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(352); + +/***/ }), +/* 50 */ +/***/ (function(module, exports) { + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} + +module.exports = _interopRequireDefault; + +/***/ }), +/* 51 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* + * @Description: action类型 + * @Author: tangjiang + * @Date: 2019-11-13 20:05:39 + * @Last Modified by: tangjiang + * @Last Modified time: 2019-11-14 09:29:45 + */var types={ADD_TODO:'ADD_TODO',GET_OJ_LIST:'GET_OJ_LIST',// JC 列表 +SAVE_OJ_FORM_ID:'SAVE_OJ_FORM_ID',// 保存OJ form表单信息 +GET_OJ_BY_ID:'GET_OJ_BY_ID',// 根据 id 号获取ojList中的数据 +SAVE_OJ_FORM_CODE:'SAVE_OJ_FORM_CODE',// 代码 +VALIDATE_OJ_FORM:'VALIDATE_OJ_FORM',// 验证表单 +VALIDATE_OJ_NAME:'VALIDATE_OJ_NAME',// 任务名称 +VALIDATE_OJ_LANGUAGE:'VALIDATE_OJ_LANGUAGE',// 编程语言 +VALIDATE_OJ_DESCRIPTION:'VALIDATE_OJ_DESCRIPTION',// 描述 +VALIDATE_OJ_DIFFICULT:'VALIDATE_OJ_DIFFICULT',// 难易度 +VALIDATE_OJ_TIMELIMIT:'VALIDATE_OJ_TIMELIMIT',// 时间限制 +VALIDATE_OJ_CATEGORY:'VALIDATE_OJ_CATEGORY',// 分类 +VALIDATE_OJ_OPENORNOT:'VALIDATE_OJ_OPENORNOT',// 公开程序 +SAVE_OJ_FORM:'SAVE_OJ_FORM',// 保存表单 +ADD_TEST_CASE:'ADD_TEST_CASE',// 添加测试用例 +DELETE_TEST_CASE:'DELETE_TEST_CASE',// 删除测试用例 +SAVE_TEST_CASE:'SAVE_TEST_CASE',// 保存测试用例 +SAVE_USE_TEST_CASE_VALUE:'SAVE_USE_TEST_CASE_VALUE',// 用户自定义测试用例值 +CLEAR_JSFORM_STORE:'CLEAR_JSFORM_STORE',// 清空测试用例 +SAVE_EDIT_OJ_FORM_AND_TEST_CASE:'SAVE_EDIT_OJ_FORM_AND_TEST_CASE',// 保存根据id获取的表单及测试用例值 +TEST_CODE_STATUS:'TEST_CODE_STATUS',// 代码调试状态 +VALIDATE_TEST_CODE_ARRS:'VALIDATE_TEST_CODE_ARRS',// 更改测试用例验证结果 +TEST_CASE_INPUT_CHANGE:'TEST_CASE_INPUT_CHANGE',// 测试用例输入值改变时 +TEST_CASE_OUTPUT_CHANGE:'TEST_CASE_OUTPUT_CHANGE',// 测试用例输出值改变时 +DEBUGGER_CODE:'DEBUGGER_CODE',// 调试代码 +SAVE_USER_PROGRAM_ID:'SAVE_USER_PROGRAM_ID',// 保存用户编程题id值 +USER_PROGRAM_DETAIL:'USER_PROGRAM_DETAIL',// 用户编程题详情 +SHOW_OR_HIDE_CONTROL:'SHOW_OR_HIDE_CONTROL',// 显示或隐藏控制台 +LOADING_STATUS:'LOADING_STATUS',// loading状态 +COMMIT_RECORD_DETAIL:'COMMIT_RECORD_DETAIL',// 提交记录详情 +COMMIT_RECORD:'COMMIT_RECORD',// 提交记录 +SAVE_USER_CODE:'SAVE_USER_CODE',// 用户编辑的代码块 +IS_UPDATE_CODE:'IS_UPDATE_CODE',// 是否更新代码块内容 +CHANGE_USER_CODE_TAB:'CHANGE_USER_CODE_TAB',// 切换学员测评tab +SUBMIT_LOADING_STATUS:'SUBMIT_LOADING_STATUS',// 提交按钮状态值 +PUBLISH_LOADING_STATUS:'PUBLISH_LOADING_STATUS',// 发布按钮 +IS_MY_SOURCE:'IS_MY_SOURCE',CHANGE_PAGINATION_INFO:'CHANGE_PAGINATION_INFO',// 改变分页数据 +UPDATE_TEST_AND_VALIDATE:'UPDATE_TEST_AND_VALIDATE',// 更新测试用例及验证值 +UPDATE_OPEN_TESTCASE_INDEX:'UPDATE_OPEN_TESTCASE_INDEX',// 更新测试用例索引 +GET_COMMIT_RECORD_DETAIL_BY_ID:'GET_COMMIT_RECORD_DETAIL_BY_ID',// 根据id号获取提交记录详情 +RESTORE_INITIAL_CODE:'RESTORE_INITIAL_CODE',// 恢复初始代码 +SAVE_USER_INFO:'SAVE_USER_INFO',// 只在用户信息 +SAVE_HACK_IDENTIFIER:'SAVE_HACK_IDENTIFIER',// 用户界面跑到编辑界面需要用的id值 +SAVE_EDITOR_CODE:'SAVE_EDITOR_CODE',// 保存详情页面中编辑时的代码 +/*** jupyter */GET_JUPYTER_DATA_SETS:'GET_JUPYTER_DATA_SETS',// jupyter 数据集 +GET_JUPYTER_TPI_URL:'GET_JUPYTER_TPI_URL',// 获取 jupyter url +SAVE_JUPYTER_IDENTIFIER:'SAVE_JUPYTER_IDENTIFIER',// 保存jupyter identifier +SAVE_JUPYTER_INFO:'SAVE_JUPYTER_INFO',// 保存 jupyter 信息 +CHANGE_JUPYTER_URL_STATE:'CHANGE_JUPYTER_URL_STATE',// 获取url返回的状态值 +SAVE_JUPYTER_TPI:'SAVE_JUPYTER_TPI',// 保存 jupyter tpi +CHANGE_JUPYTER_CURRENT_PAGE:'CHANGE_JUPYTER_CURRENT_PAGE',SAVE_NOTICE_COUNT:'SAVE_NOTICE_COUNT',// 保存代码块是否更新 +AUTO_UPDATE_CODE:'AUTO_UPDATE_CODE'// 自动更新代码 +};/* harmony default export */ __webpack_exports__["a"] = (types); + +/***/ }), +/* 52 */ +/***/ (function(module, exports, __webpack_require__) { + +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = __webpack_require__(133); +var defined = __webpack_require__(135); +module.exports = function (it) { + return IObject(defined(it)); +}; + + +/***/ }), +/* 53 */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(41); +module.exports = function (it) { + if (!isObject(it)) throw TypeError(it + ' is not an object!'); + return it; +}; + + +/***/ }), +/* 54 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createBrowserHistory", function() { return createBrowserHistory; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createHashHistory", function() { return createHashHistory; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createMemoryHistory", function() { return createMemoryHistory; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createLocation", function() { return createLocation; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "locationsAreEqual", function() { return locationsAreEqual; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parsePath", function() { return parsePath; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPath", function() { return createPath; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_extends__ = __webpack_require__(424); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_resolve_pathname__ = __webpack_require__(425); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_value_equal__ = __webpack_require__(426); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_tiny_warning__ = __webpack_require__(427); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_tiny_invariant__ = __webpack_require__(347); + + + + + + +function addLeadingSlash(path) { + return path.charAt(0) === '/' ? path : '/' + path; +} +function stripLeadingSlash(path) { + return path.charAt(0) === '/' ? path.substr(1) : path; +} +function hasBasename(path, prefix) { + return new RegExp('^' + prefix + '(\\/|\\?|#|$)', 'i').test(path); +} +function stripBasename(path, prefix) { + return hasBasename(path, prefix) ? path.substr(prefix.length) : path; +} +function stripTrailingSlash(path) { + return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path; +} +function parsePath(path) { + var pathname = path || '/'; + var search = ''; + var hash = ''; + var hashIndex = pathname.indexOf('#'); + + if (hashIndex !== -1) { + hash = pathname.substr(hashIndex); + pathname = pathname.substr(0, hashIndex); + } + + var searchIndex = pathname.indexOf('?'); + + if (searchIndex !== -1) { + search = pathname.substr(searchIndex); + pathname = pathname.substr(0, searchIndex); + } + + return { + pathname: pathname, + search: search === '?' ? '' : search, + hash: hash === '#' ? '' : hash + }; +} +function createPath(location) { + var pathname = location.pathname, + search = location.search, + hash = location.hash; + var path = pathname || '/'; + if (search && search !== '?') path += search.charAt(0) === '?' ? search : "?" + search; + if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : "#" + hash; + return path; +} + +function createLocation(path, state, key, currentLocation) { + var location; + + if (typeof path === 'string') { + // Two-arg form: push(path, state) + location = parsePath(path); + location.state = state; + } else { + // One-arg form: push(location) + location = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_extends__["a" /* default */])({}, path); + if (location.pathname === undefined) location.pathname = ''; + + if (location.search) { + if (location.search.charAt(0) !== '?') location.search = '?' + location.search; + } else { + location.search = ''; + } + + if (location.hash) { + if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash; + } else { + location.hash = ''; + } + + if (state !== undefined && location.state === undefined) location.state = state; + } + + try { + location.pathname = decodeURI(location.pathname); + } catch (e) { + if (e instanceof URIError) { + throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.'); + } else { + throw e; + } + } + + if (key) location.key = key; + + if (currentLocation) { + // Resolve incomplete/relative pathname relative to current location. + if (!location.pathname) { + location.pathname = currentLocation.pathname; + } else if (location.pathname.charAt(0) !== '/') { + location.pathname = Object(__WEBPACK_IMPORTED_MODULE_1_resolve_pathname__["a" /* default */])(location.pathname, currentLocation.pathname); + } + } else { + // When there is no prior location and pathname is empty, set it to / + if (!location.pathname) { + location.pathname = '/'; + } + } + + return location; +} +function locationsAreEqual(a, b) { + return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && Object(__WEBPACK_IMPORTED_MODULE_2_value_equal__["a" /* default */])(a.state, b.state); +} + +function createTransitionManager() { + var prompt = null; + + function setPrompt(nextPrompt) { + false ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0; + prompt = nextPrompt; + return function () { + if (prompt === nextPrompt) prompt = null; + }; + } + + function confirmTransitionTo(location, action, getUserConfirmation, callback) { + // TODO: If another transition starts while we're still confirming + // the previous one, we may end up in a weird state. Figure out the + // best way to handle this. + if (prompt != null) { + var result = typeof prompt === 'function' ? prompt(location, action) : prompt; + + if (typeof result === 'string') { + if (typeof getUserConfirmation === 'function') { + getUserConfirmation(result, callback); + } else { + false ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0; + callback(true); + } + } else { + // Return false from a transition hook to cancel the transition. + callback(result !== false); + } + } else { + callback(true); + } + } + + var listeners = []; + + function appendListener(fn) { + var isActive = true; + + function listener() { + if (isActive) fn.apply(void 0, arguments); + } + + listeners.push(listener); + return function () { + isActive = false; + listeners = listeners.filter(function (item) { + return item !== listener; + }); + }; + } + + function notifyListeners() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + listeners.forEach(function (listener) { + return listener.apply(void 0, args); + }); + } + + return { + setPrompt: setPrompt, + confirmTransitionTo: confirmTransitionTo, + appendListener: appendListener, + notifyListeners: notifyListeners + }; +} + +var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); +function getConfirmation(message, callback) { + callback(window.confirm(message)); // eslint-disable-line no-alert +} +/** + * Returns true if the HTML5 history API is supported. Taken from Modernizr. + * + * https://github.com/Modernizr/Modernizr/blob/master/LICENSE + * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js + * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586 + */ + +function supportsHistory() { + var ua = window.navigator.userAgent; + if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false; + return window.history && 'pushState' in window.history; +} +/** + * Returns true if browser fires popstate on hash change. + * IE10 and IE11 do not. + */ + +function supportsPopStateOnHashChange() { + return window.navigator.userAgent.indexOf('Trident') === -1; +} +/** + * Returns false if using go(n) with hash history causes a full page reload. + */ + +function supportsGoWithoutReloadUsingHash() { + return window.navigator.userAgent.indexOf('Firefox') === -1; +} +/** + * Returns true if a given popstate event is an extraneous WebKit event. + * Accounts for the fact that Chrome on iOS fires real popstate events + * containing undefined state when pressing the back button. + */ + +function isExtraneousPopstateEvent(event) { + event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1; +} + +var PopStateEvent = 'popstate'; +var HashChangeEvent = 'hashchange'; + +function getHistoryState() { + try { + return window.history.state || {}; + } catch (e) { + // IE 11 sometimes throws when accessing window.history.state + // See https://github.com/ReactTraining/history/pull/289 + return {}; + } +} +/** + * Creates a history object that uses the HTML5 history API including + * pushState, replaceState, and the popstate event. + */ + + +function createBrowserHistory(props) { + if (props === void 0) { + props = {}; + } + + !canUseDOM ? false ? invariant(false, 'Browser history needs a DOM') : Object(__WEBPACK_IMPORTED_MODULE_4_tiny_invariant__["a" /* default */])(false) : void 0; + var globalHistory = window.history; + var canUseHistory = supportsHistory(); + var needsHashChangeListener = !supportsPopStateOnHashChange(); + var _props = props, + _props$forceRefresh = _props.forceRefresh, + forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh, + _props$getUserConfirm = _props.getUserConfirmation, + getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm, + _props$keyLength = _props.keyLength, + keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength; + var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : ''; + + function getDOMLocation(historyState) { + var _ref = historyState || {}, + key = _ref.key, + state = _ref.state; + + var _window$location = window.location, + pathname = _window$location.pathname, + search = _window$location.search, + hash = _window$location.hash; + var path = pathname + search + hash; + false ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path "' + path + '" to begin with "' + basename + '".') : void 0; + if (basename) path = stripBasename(path, basename); + return createLocation(path, state, key); + } + + function createKey() { + return Math.random().toString(36).substr(2, keyLength); + } + + var transitionManager = createTransitionManager(); + + function setState(nextState) { + Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_extends__["a" /* default */])(history, nextState); + + history.length = globalHistory.length; + transitionManager.notifyListeners(history.location, history.action); + } + + function handlePopState(event) { + // Ignore extraneous popstate events in WebKit. + if (isExtraneousPopstateEvent(event)) return; + handlePop(getDOMLocation(event.state)); + } + + function handleHashChange() { + handlePop(getDOMLocation(getHistoryState())); + } + + var forceNextPop = false; + + function handlePop(location) { + if (forceNextPop) { + forceNextPop = false; + setState(); + } else { + var action = 'POP'; + transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { + if (ok) { + setState({ + action: action, + location: location + }); + } else { + revertPop(location); + } + }); + } + } + + function revertPop(fromLocation) { + var toLocation = history.location; // TODO: We could probably make this more reliable by + // keeping a list of keys we've seen in sessionStorage. + // Instead, we just default to 0 for keys we don't know. + + var toIndex = allKeys.indexOf(toLocation.key); + if (toIndex === -1) toIndex = 0; + var fromIndex = allKeys.indexOf(fromLocation.key); + if (fromIndex === -1) fromIndex = 0; + var delta = toIndex - fromIndex; + + if (delta) { + forceNextPop = true; + go(delta); + } + } + + var initialLocation = getDOMLocation(getHistoryState()); + var allKeys = [initialLocation.key]; // Public interface + + function createHref(location) { + return basename + createPath(location); + } + + function push(path, state) { + false ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0; + var action = 'PUSH'; + var location = createLocation(path, state, createKey(), history.location); + transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { + if (!ok) return; + var href = createHref(location); + var key = location.key, + state = location.state; + + if (canUseHistory) { + globalHistory.pushState({ + key: key, + state: state + }, null, href); + + if (forceRefresh) { + window.location.href = href; + } else { + var prevIndex = allKeys.indexOf(history.location.key); + var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1); + nextKeys.push(location.key); + allKeys = nextKeys; + setState({ + action: action, + location: location + }); + } + } else { + false ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0; + window.location.href = href; + } + }); + } + + function replace(path, state) { + false ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0; + var action = 'REPLACE'; + var location = createLocation(path, state, createKey(), history.location); + transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { + if (!ok) return; + var href = createHref(location); + var key = location.key, + state = location.state; + + if (canUseHistory) { + globalHistory.replaceState({ + key: key, + state: state + }, null, href); + + if (forceRefresh) { + window.location.replace(href); + } else { + var prevIndex = allKeys.indexOf(history.location.key); + if (prevIndex !== -1) allKeys[prevIndex] = location.key; + setState({ + action: action, + location: location + }); + } + } else { + false ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0; + window.location.replace(href); + } + }); + } + + function go(n) { + globalHistory.go(n); + } + + function goBack() { + go(-1); + } + + function goForward() { + go(1); + } + + var listenerCount = 0; + + function checkDOMListeners(delta) { + listenerCount += delta; + + if (listenerCount === 1 && delta === 1) { + window.addEventListener(PopStateEvent, handlePopState); + if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange); + } else if (listenerCount === 0) { + window.removeEventListener(PopStateEvent, handlePopState); + if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange); + } + } + + var isBlocked = false; + + function block(prompt) { + if (prompt === void 0) { + prompt = false; + } + + var unblock = transitionManager.setPrompt(prompt); + + if (!isBlocked) { + checkDOMListeners(1); + isBlocked = true; + } + + return function () { + if (isBlocked) { + isBlocked = false; + checkDOMListeners(-1); + } + + return unblock(); + }; + } + + function listen(listener) { + var unlisten = transitionManager.appendListener(listener); + checkDOMListeners(1); + return function () { + checkDOMListeners(-1); + unlisten(); + }; + } + + var history = { + length: globalHistory.length, + action: 'POP', + location: initialLocation, + createHref: createHref, + push: push, + replace: replace, + go: go, + goBack: goBack, + goForward: goForward, + block: block, + listen: listen + }; + return history; +} + +var HashChangeEvent$1 = 'hashchange'; +var HashPathCoders = { + hashbang: { + encodePath: function encodePath(path) { + return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path); + }, + decodePath: function decodePath(path) { + return path.charAt(0) === '!' ? path.substr(1) : path; + } + }, + noslash: { + encodePath: stripLeadingSlash, + decodePath: addLeadingSlash + }, + slash: { + encodePath: addLeadingSlash, + decodePath: addLeadingSlash + } +}; + +function getHashPath() { + // We can't use window.location.hash here because it's not + // consistent across browsers - Firefox will pre-decode it! + var href = window.location.href; + var hashIndex = href.indexOf('#'); + return hashIndex === -1 ? '' : href.substring(hashIndex + 1); +} + +function pushHashPath(path) { + window.location.hash = path; +} + +function replaceHashPath(path) { + var hashIndex = window.location.href.indexOf('#'); + window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path); +} + +function createHashHistory(props) { + if (props === void 0) { + props = {}; + } + + !canUseDOM ? false ? invariant(false, 'Hash history needs a DOM') : Object(__WEBPACK_IMPORTED_MODULE_4_tiny_invariant__["a" /* default */])(false) : void 0; + var globalHistory = window.history; + var canGoWithoutReload = supportsGoWithoutReloadUsingHash(); + var _props = props, + _props$getUserConfirm = _props.getUserConfirmation, + getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm, + _props$hashType = _props.hashType, + hashType = _props$hashType === void 0 ? 'slash' : _props$hashType; + var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : ''; + var _HashPathCoders$hashT = HashPathCoders[hashType], + encodePath = _HashPathCoders$hashT.encodePath, + decodePath = _HashPathCoders$hashT.decodePath; + + function getDOMLocation() { + var path = decodePath(getHashPath()); + false ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path "' + path + '" to begin with "' + basename + '".') : void 0; + if (basename) path = stripBasename(path, basename); + return createLocation(path); + } + + var transitionManager = createTransitionManager(); + + function setState(nextState) { + Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_extends__["a" /* default */])(history, nextState); + + history.length = globalHistory.length; + transitionManager.notifyListeners(history.location, history.action); + } + + var forceNextPop = false; + var ignorePath = null; + + function handleHashChange() { + var path = getHashPath(); + var encodedPath = encodePath(path); + + if (path !== encodedPath) { + // Ensure we always have a properly-encoded hash. + replaceHashPath(encodedPath); + } else { + var location = getDOMLocation(); + var prevLocation = history.location; + if (!forceNextPop && locationsAreEqual(prevLocation, location)) return; // A hashchange doesn't always == location change. + + if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace. + + ignorePath = null; + handlePop(location); + } + } + + function handlePop(location) { + if (forceNextPop) { + forceNextPop = false; + setState(); + } else { + var action = 'POP'; + transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { + if (ok) { + setState({ + action: action, + location: location + }); + } else { + revertPop(location); + } + }); + } + } + + function revertPop(fromLocation) { + var toLocation = history.location; // TODO: We could probably make this more reliable by + // keeping a list of paths we've seen in sessionStorage. + // Instead, we just default to 0 for paths we don't know. + + var toIndex = allPaths.lastIndexOf(createPath(toLocation)); + if (toIndex === -1) toIndex = 0; + var fromIndex = allPaths.lastIndexOf(createPath(fromLocation)); + if (fromIndex === -1) fromIndex = 0; + var delta = toIndex - fromIndex; + + if (delta) { + forceNextPop = true; + go(delta); + } + } // Ensure the hash is encoded properly before doing anything else. + + + var path = getHashPath(); + var encodedPath = encodePath(path); + if (path !== encodedPath) replaceHashPath(encodedPath); + var initialLocation = getDOMLocation(); + var allPaths = [createPath(initialLocation)]; // Public interface + + function createHref(location) { + return '#' + encodePath(basename + createPath(location)); + } + + function push(path, state) { + false ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0; + var action = 'PUSH'; + var location = createLocation(path, undefined, undefined, history.location); + transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { + if (!ok) return; + var path = createPath(location); + var encodedPath = encodePath(basename + path); + var hashChanged = getHashPath() !== encodedPath; + + if (hashChanged) { + // We cannot tell if a hashchange was caused by a PUSH, so we'd + // rather setState here and ignore the hashchange. The caveat here + // is that other hash histories in the page will consider it a POP. + ignorePath = path; + pushHashPath(encodedPath); + var prevIndex = allPaths.lastIndexOf(createPath(history.location)); + var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1); + nextPaths.push(path); + allPaths = nextPaths; + setState({ + action: action, + location: location + }); + } else { + false ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0; + setState(); + } + }); + } + + function replace(path, state) { + false ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0; + var action = 'REPLACE'; + var location = createLocation(path, undefined, undefined, history.location); + transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { + if (!ok) return; + var path = createPath(location); + var encodedPath = encodePath(basename + path); + var hashChanged = getHashPath() !== encodedPath; + + if (hashChanged) { + // We cannot tell if a hashchange was caused by a REPLACE, so we'd + // rather setState here and ignore the hashchange. The caveat here + // is that other hash histories in the page will consider it a POP. + ignorePath = path; + replaceHashPath(encodedPath); + } + + var prevIndex = allPaths.indexOf(createPath(history.location)); + if (prevIndex !== -1) allPaths[prevIndex] = path; + setState({ + action: action, + location: location + }); + }); + } + + function go(n) { + false ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0; + globalHistory.go(n); + } + + function goBack() { + go(-1); + } + + function goForward() { + go(1); + } + + var listenerCount = 0; + + function checkDOMListeners(delta) { + listenerCount += delta; + + if (listenerCount === 1 && delta === 1) { + window.addEventListener(HashChangeEvent$1, handleHashChange); + } else if (listenerCount === 0) { + window.removeEventListener(HashChangeEvent$1, handleHashChange); + } + } + + var isBlocked = false; + + function block(prompt) { + if (prompt === void 0) { + prompt = false; + } + + var unblock = transitionManager.setPrompt(prompt); + + if (!isBlocked) { + checkDOMListeners(1); + isBlocked = true; + } + + return function () { + if (isBlocked) { + isBlocked = false; + checkDOMListeners(-1); + } + + return unblock(); + }; + } + + function listen(listener) { + var unlisten = transitionManager.appendListener(listener); + checkDOMListeners(1); + return function () { + checkDOMListeners(-1); + unlisten(); + }; + } + + var history = { + length: globalHistory.length, + action: 'POP', + location: initialLocation, + createHref: createHref, + push: push, + replace: replace, + go: go, + goBack: goBack, + goForward: goForward, + block: block, + listen: listen + }; + return history; +} + +function clamp(n, lowerBound, upperBound) { + return Math.min(Math.max(n, lowerBound), upperBound); +} +/** + * Creates a history object that stores locations in memory. + */ + + +function createMemoryHistory(props) { + if (props === void 0) { + props = {}; + } + + var _props = props, + getUserConfirmation = _props.getUserConfirmation, + _props$initialEntries = _props.initialEntries, + initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries, + _props$initialIndex = _props.initialIndex, + initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex, + _props$keyLength = _props.keyLength, + keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength; + var transitionManager = createTransitionManager(); + + function setState(nextState) { + Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_extends__["a" /* default */])(history, nextState); + + history.length = history.entries.length; + transitionManager.notifyListeners(history.location, history.action); + } + + function createKey() { + return Math.random().toString(36).substr(2, keyLength); + } + + var index = clamp(initialIndex, 0, initialEntries.length - 1); + var entries = initialEntries.map(function (entry) { + return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey()); + }); // Public interface + + var createHref = createPath; + + function push(path, state) { + false ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0; + var action = 'PUSH'; + var location = createLocation(path, state, createKey(), history.location); + transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { + if (!ok) return; + var prevIndex = history.index; + var nextIndex = prevIndex + 1; + var nextEntries = history.entries.slice(0); + + if (nextEntries.length > nextIndex) { + nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location); + } else { + nextEntries.push(location); + } + + setState({ + action: action, + location: location, + index: nextIndex, + entries: nextEntries + }); + }); + } + + function replace(path, state) { + false ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0; + var action = 'REPLACE'; + var location = createLocation(path, state, createKey(), history.location); + transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { + if (!ok) return; + history.entries[history.index] = location; + setState({ + action: action, + location: location + }); + }); + } + + function go(n) { + var nextIndex = clamp(history.index + n, 0, history.entries.length - 1); + var action = 'POP'; + var location = history.entries[nextIndex]; + transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { + if (ok) { + setState({ + action: action, + location: location, + index: nextIndex + }); + } else { + // Mimic the behavior of DOM histories by + // causing a render after a cancelled POP. + setState(); + } + }); + } + + function goBack() { + go(-1); + } + + function goForward() { + go(1); + } + + function canGo(n) { + var nextIndex = history.index + n; + return nextIndex >= 0 && nextIndex < history.entries.length; + } + + function block(prompt) { + if (prompt === void 0) { + prompt = false; + } + + return transitionManager.setPrompt(prompt); + } + + function listen(listener) { + return transitionManager.appendListener(listener); + } + + var history = { + length: entries.length, + action: 'POP', + location: entries[index], + index: index, + entries: entries, + createHref: createHref, + push: push, + replace: replace, + go: go, + goBack: goBack, + goForward: goForward, + canGo: canGo, + block: block, + listen: listen + }; + return history; +} + + + + +/***/ }), +/* 55 */ +/***/ (function(module, exports, __webpack_require__) { + +// optional / simple context binding +var aFunction = __webpack_require__(231); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), +/* 56 */ +/***/ (function(module, exports) { + +module.exports = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } +}; + + +/***/ }), +/* 57 */ +/***/ (function(module, exports) { + +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; + + +/***/ }), +/* 58 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__propertyUtils__ = __webpack_require__(688); +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + + + +var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source; + +var getComputedStyleX = void 0; + +// https://stackoverflow.com/a/3485654/3040605 +function forceRelayout(elem) { + var originalStyle = elem.style.display; + elem.style.display = 'none'; + elem.offsetHeight; // eslint-disable-line + elem.style.display = originalStyle; +} + +function css(el, name, v) { + var value = v; + if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') { + for (var i in name) { + if (name.hasOwnProperty(i)) { + css(el, i, name[i]); + } + } + return undefined; + } + if (typeof value !== 'undefined') { + if (typeof value === 'number') { + value = value + 'px'; + } + el.style[name] = value; + return undefined; + } + return getComputedStyleX(el, name); +} + +function getClientPosition(elem) { + var box = void 0; + var x = void 0; + var y = void 0; + var doc = elem.ownerDocument; + var body = doc.body; + var docElem = doc && doc.documentElement; + // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式 + box = elem.getBoundingClientRect(); + + // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop + // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确 + // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin + + x = box.left; + y = box.top; + + // In IE, most of the time, 2 extra pixels are added to the top and left + // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and + // IE6 standards mode, this border can be overridden by setting the + // document element's border to zero -- thus, we cannot rely on the + // offset always being 2 pixels. + + // In quirks mode, the offset can be determined by querying the body's + // clientLeft/clientTop, but in standards mode, it is found by querying + // the document element's clientLeft/clientTop. Since we already called + // getClientBoundingRect we have already forced a reflow, so it is not + // too expensive just to query them all. + + // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的 + // 窗口边框标准是设 documentElement ,quirks 时设置 body + // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去 + // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置 + // 标准 ie 下 docElem.clientTop 就是 border-top + // ie7 html 即窗口边框改变不了。永远为 2 + // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0 + + x -= docElem.clientLeft || body.clientLeft || 0; + y -= docElem.clientTop || body.clientTop || 0; + + return { + left: x, + top: y + }; +} + +function getScroll(w, top) { + var ret = w['page' + (top ? 'Y' : 'X') + 'Offset']; + var method = 'scroll' + (top ? 'Top' : 'Left'); + if (typeof ret !== 'number') { + var d = w.document; + // ie6,7,8 standard mode + ret = d.documentElement[method]; + if (typeof ret !== 'number') { + // quirks mode + ret = d.body[method]; + } + } + return ret; +} + +function getScrollLeft(w) { + return getScroll(w); +} + +function getScrollTop(w) { + return getScroll(w, true); +} + +function getOffset(el) { + var pos = getClientPosition(el); + var doc = el.ownerDocument; + var w = doc.defaultView || doc.parentWindow; + pos.left += getScrollLeft(w); + pos.top += getScrollTop(w); + return pos; +} + +/** + * A crude way of determining if an object is a window + * @member util + */ +function isWindow(obj) { + // must use == for ie8 + /* eslint eqeqeq:0 */ + return obj !== null && obj !== undefined && obj == obj.window; +} + +function getDocument(node) { + if (isWindow(node)) { + return node.document; + } + if (node.nodeType === 9) { + return node; + } + return node.ownerDocument; +} + +function _getComputedStyle(elem, name, cs) { + var computedStyle = cs; + var val = ''; + var d = getDocument(elem); + computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); + + // https://github.com/kissyteam/kissy/issues/61 + if (computedStyle) { + val = computedStyle.getPropertyValue(name) || computedStyle[name]; + } + + return val; +} + +var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i'); +var RE_POS = /^(top|right|bottom|left)$/; +var CURRENT_STYLE = 'currentStyle'; +var RUNTIME_STYLE = 'runtimeStyle'; +var LEFT = 'left'; +var PX = 'px'; + +function _getComputedStyleIE(elem, name) { + // currentStyle maybe null + // http://msdn.microsoft.com/en-us/library/ms535231.aspx + var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; + + // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值 + // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19 + // 在 ie 下不对,需要直接用 offset 方式 + // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了 + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // exclude left right for relativity + if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) { + // Remember the original values + var style = elem.style; + var left = style[LEFT]; + var rsLeft = elem[RUNTIME_STYLE][LEFT]; + + // prevent flashing of content + elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; + + // Put in the new values to get a computed value out + style[LEFT] = name === 'fontSize' ? '1em' : ret || 0; + ret = style.pixelLeft + PX; + + // Revert the changed values + style[LEFT] = left; + + elem[RUNTIME_STYLE][LEFT] = rsLeft; + } + return ret === '' ? 'auto' : ret; +} + +if (typeof window !== 'undefined') { + getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE; +} + +function getOffsetDirection(dir, option) { + if (dir === 'left') { + return option.useCssRight ? 'right' : dir; + } + return option.useCssBottom ? 'bottom' : dir; +} + +function oppositeOffsetDirection(dir) { + if (dir === 'left') { + return 'right'; + } else if (dir === 'right') { + return 'left'; + } else if (dir === 'top') { + return 'bottom'; + } else if (dir === 'bottom') { + return 'top'; + } +} + +// 设置 elem 相对 elem.ownerDocument 的坐标 +function setLeftTop(elem, offset, option) { + // set position first, in-case top/left are set even on static elem + if (css(elem, 'position') === 'static') { + elem.style.position = 'relative'; + } + var presetH = -999; + var presetV = -999; + var horizontalProperty = getOffsetDirection('left', option); + var verticalProperty = getOffsetDirection('top', option); + var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty); + var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty); + + if (horizontalProperty !== 'left') { + presetH = 999; + } + + if (verticalProperty !== 'top') { + presetV = 999; + } + var originalTransition = ''; + var originalOffset = getOffset(elem); + if ('left' in offset || 'top' in offset) { + originalTransition = Object(__WEBPACK_IMPORTED_MODULE_0__propertyUtils__["c" /* getTransitionProperty */])(elem) || ''; + Object(__WEBPACK_IMPORTED_MODULE_0__propertyUtils__["e" /* setTransitionProperty */])(elem, 'none'); + } + if ('left' in offset) { + elem.style[oppositeHorizontalProperty] = ''; + elem.style[horizontalProperty] = presetH + 'px'; + } + if ('top' in offset) { + elem.style[oppositeVerticalProperty] = ''; + elem.style[verticalProperty] = presetV + 'px'; + } + // force relayout + forceRelayout(elem); + var old = getOffset(elem); + var originalStyle = {}; + for (var key in offset) { + if (offset.hasOwnProperty(key)) { + var dir = getOffsetDirection(key, option); + var preset = key === 'left' ? presetH : presetV; + var off = originalOffset[key] - old[key]; + if (dir === key) { + originalStyle[dir] = preset + off; + } else { + originalStyle[dir] = preset - off; + } + } + } + css(elem, originalStyle); + // force relayout + forceRelayout(elem); + if ('left' in offset || 'top' in offset) { + Object(__WEBPACK_IMPORTED_MODULE_0__propertyUtils__["e" /* setTransitionProperty */])(elem, originalTransition); + } + var ret = {}; + for (var _key in offset) { + if (offset.hasOwnProperty(_key)) { + var _dir = getOffsetDirection(_key, option); + var _off = offset[_key] - originalOffset[_key]; + if (_key === _dir) { + ret[_dir] = originalStyle[_dir] + _off; + } else { + ret[_dir] = originalStyle[_dir] - _off; + } + } + } + css(elem, ret); +} + +function setTransform(elem, offset) { + var originalOffset = getOffset(elem); + var originalXY = Object(__WEBPACK_IMPORTED_MODULE_0__propertyUtils__["b" /* getTransformXY */])(elem); + var resultXY = { x: originalXY.x, y: originalXY.y }; + if ('left' in offset) { + resultXY.x = originalXY.x + offset.left - originalOffset.left; + } + if ('top' in offset) { + resultXY.y = originalXY.y + offset.top - originalOffset.top; + } + Object(__WEBPACK_IMPORTED_MODULE_0__propertyUtils__["d" /* setTransformXY */])(elem, resultXY); +} + +function setOffset(elem, offset, option) { + if (option.ignoreShake) { + var oriOffset = getOffset(elem); + + var oLeft = oriOffset.left.toFixed(0); + var oTop = oriOffset.top.toFixed(0); + var tLeft = offset.left.toFixed(0); + var tTop = offset.top.toFixed(0); + + if (oLeft === tLeft && oTop === tTop) { + return; + } + } + + if (option.useCssRight || option.useCssBottom) { + setLeftTop(elem, offset, option); + } else if (option.useCssTransform && Object(__WEBPACK_IMPORTED_MODULE_0__propertyUtils__["a" /* getTransformName */])() in document.body.style) { + setTransform(elem, offset, option); + } else { + setLeftTop(elem, offset, option); + } +} + +function each(arr, fn) { + for (var i = 0; i < arr.length; i++) { + fn(arr[i]); + } +} + +function isBorderBoxFn(elem) { + return getComputedStyleX(elem, 'boxSizing') === 'border-box'; +} + +var BOX_MODELS = ['margin', 'border', 'padding']; +var CONTENT_INDEX = -1; +var PADDING_INDEX = 2; +var BORDER_INDEX = 1; +var MARGIN_INDEX = 0; + +function swap(elem, options, callback) { + var old = {}; + var style = elem.style; + var name = void 0; + + // Remember the old values, and insert the new ones + for (name in options) { + if (options.hasOwnProperty(name)) { + old[name] = style[name]; + style[name] = options[name]; + } + } + + callback.call(elem); + + // Revert the old values + for (name in options) { + if (options.hasOwnProperty(name)) { + style[name] = old[name]; + } + } +} + +function getPBMWidth(elem, props, which) { + var value = 0; + var prop = void 0; + var j = void 0; + var i = void 0; + for (j = 0; j < props.length; j++) { + prop = props[j]; + if (prop) { + for (i = 0; i < which.length; i++) { + var cssProp = void 0; + if (prop === 'border') { + cssProp = '' + prop + which[i] + 'Width'; + } else { + cssProp = prop + which[i]; + } + value += parseFloat(getComputedStyleX(elem, cssProp)) || 0; + } + } + } + return value; +} + +var domUtils = {}; + +each(['Width', 'Height'], function (name) { + domUtils['doc' + name] = function (refWin) { + var d = refWin.document; + return Math.max( + // firefox chrome documentElement.scrollHeight< body.scrollHeight + // ie standard mode : documentElement.scrollHeight> body.scrollHeight + d.documentElement['scroll' + name], + // quirks : documentElement.scrollHeight 最大等于可视窗口多一点? + d.body['scroll' + name], domUtils['viewport' + name](d)); + }; + + domUtils['viewport' + name] = function (win) { + // pc browser includes scrollbar in window.innerWidth + var prop = 'client' + name; + var doc = win.document; + var body = doc.body; + var documentElement = doc.documentElement; + var documentElementProp = documentElement[prop]; + // 标准模式取 documentElement + // backcompat 取 body + return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp; + }; +}); + +/* + 得到元素的大小信息 + @param elem + @param name + @param {String} [extra] 'padding' : (css width) + padding + 'border' : (css width) + padding + border + 'margin' : (css width) + padding + border + margin + */ +function getWH(elem, name, ex) { + var extra = ex; + if (isWindow(elem)) { + return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem); + } else if (elem.nodeType === 9) { + return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem); + } + var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom']; + var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height; + var computedStyle = getComputedStyleX(elem); + var isBorderBox = isBorderBoxFn(elem, computedStyle); + var cssBoxValue = 0; + if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) { + borderBoxValue = undefined; + // Fall back to computed then un computed css if necessary + cssBoxValue = getComputedStyleX(elem, name); + if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) { + cssBoxValue = elem.style[name] || 0; + } + // Normalize '', auto, and prepare for extra + cssBoxValue = parseFloat(cssBoxValue) || 0; + } + if (extra === undefined) { + extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX; + } + var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox; + var val = borderBoxValue || cssBoxValue; + if (extra === CONTENT_INDEX) { + if (borderBoxValueOrIsBorderBox) { + return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle); + } + return cssBoxValue; + } else if (borderBoxValueOrIsBorderBox) { + if (extra === BORDER_INDEX) { + return val; + } + return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle)); + } + return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle); +} + +var cssShow = { + position: 'absolute', + visibility: 'hidden', + display: 'block' +}; + +// fix #119 : https://github.com/kissyteam/kissy/issues/119 +function getWHIgnoreDisplay() { + for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) { + args[_key2] = arguments[_key2]; + } + + var val = void 0; + var elem = args[0]; + // in case elem is window + // elem.offsetWidth === undefined + if (elem.offsetWidth !== 0) { + val = getWH.apply(undefined, args); + } else { + swap(elem, cssShow, function () { + val = getWH.apply(undefined, args); + }); + } + return val; +} + +each(['width', 'height'], function (name) { + var first = name.charAt(0).toUpperCase() + name.slice(1); + domUtils['outer' + first] = function (el, includeMargin) { + return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX); + }; + var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom']; + + domUtils[name] = function (elem, v) { + var val = v; + if (val !== undefined) { + if (elem) { + var computedStyle = getComputedStyleX(elem); + var isBorderBox = isBorderBoxFn(elem); + if (isBorderBox) { + val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle); + } + return css(elem, name, val); + } + return undefined; + } + return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX); + }; +}); + +function mix(to, from) { + for (var i in from) { + if (from.hasOwnProperty(i)) { + to[i] = from[i]; + } + } + return to; +} + +var utils = { + getWindow: function getWindow(node) { + if (node && node.document && node.setTimeout) { + return node; + } + var doc = node.ownerDocument || node; + return doc.defaultView || doc.parentWindow; + }, + + getDocument: getDocument, + offset: function offset(el, value, option) { + if (typeof value !== 'undefined') { + setOffset(el, value, option || {}); + } else { + return getOffset(el); + } + }, + + isWindow: isWindow, + each: each, + css: css, + clone: function clone(obj) { + var i = void 0; + var ret = {}; + for (i in obj) { + if (obj.hasOwnProperty(i)) { + ret[i] = obj[i]; + } + } + var overflow = obj.overflow; + if (overflow) { + for (i in obj) { + if (obj.hasOwnProperty(i)) { + ret.overflow[i] = obj.overflow[i]; + } + } + } + return ret; + }, + + mix: mix, + getWindowScrollLeft: function getWindowScrollLeft(w) { + return getScrollLeft(w); + }, + getWindowScrollTop: function getWindowScrollTop(w) { + return getScrollTop(w); + }, + merge: function merge() { + var ret = {}; + + for (var _len2 = arguments.length, args = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) { + args[_key3] = arguments[_key3]; + } + + for (var i = 0; i < args.length; i++) { + utils.mix(ret, args[i]); + } + return ret; + }, + + viewportWidth: 0, + viewportHeight: 0 +}; + +mix(utils, domUtils); + +/* harmony default export */ __webpack_exports__["a"] = (utils); + +/***/ }), +/* 59 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _defineProperty = __webpack_require__(229); + +var _defineProperty2 = _interopRequireDefault(_defineProperty); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (obj, key, value) { + if (key in obj) { + (0, _defineProperty2.default)(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +}; + +/***/ }), +/* 60 */ +/***/ (function(module, exports) { + +// + +module.exports = function shallowEqual(objA, objB, compare, compareContext) { + var ret = compare ? compare.call(compareContext, objA, objB) : void 0; + + if (ret !== void 0) { + return !!ret; + } + + if (objA === objB) { + return true; + } + + if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) { + return false; + } + + var keysA = Object.keys(objA); + var keysB = Object.keys(objB); + + if (keysA.length !== keysB.length) { + return false; + } + + var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); + + // Test for A's keys different from B. + for (var idx = 0; idx < keysA.length; idx++) { + var key = keysA[idx]; + + if (!bHasOwnProperty(key)) { + return false; + } + + var valueA = objA[key]; + var valueB = objB[key]; + + ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0; + + if (ret === false || (ret === void 0 && valueA !== valueB)) { + return false; + } + } + + return true; +}; + + +/***/ }), +/* 61 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__MemoryRouter__ = __webpack_require__(215); +/* unused harmony reexport MemoryRouter */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Prompt__ = __webpack_require__(218); +/* unused harmony reexport Prompt */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Redirect__ = __webpack_require__(219); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_2__Redirect__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Route__ = __webpack_require__(129); +/* unused harmony reexport Route */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Router__ = __webpack_require__(95); +/* unused harmony reexport Router */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__StaticRouter__ = __webpack_require__(220); +/* unused harmony reexport StaticRouter */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Switch__ = __webpack_require__(221); +/* unused harmony reexport Switch */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__generatePath__ = __webpack_require__(130); +/* unused harmony reexport generatePath */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__matchPath__ = __webpack_require__(96); +/* unused harmony reexport matchPath */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__withRouter__ = __webpack_require__(222); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_9__withRouter__["a"]; }); + + + + + + + + + + + + + + + + + + + + + +/***/ }), +/* 62 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +/** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + +var __DEV__ = "production" !== 'production'; + +var warning = function() {}; + +if (__DEV__) { + var printWarning = function printWarning(format, args) { + var len = arguments.length; + args = new Array(len > 1 ? len - 1 : 0); + for (var key = 1; key < len; key++) { + args[key - 1] = arguments[key]; + } + var argIndex = 0; + var message = 'Warning: ' + + format.replace(/%s/g, function() { + return args[argIndex++]; + }); + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + } + + warning = function(condition, format, args) { + var len = arguments.length; + args = new Array(len > 2 ? len - 2 : 0); + for (var key = 2; key < len; key++) { + args[key - 2] = arguments[key]; + } + if (format === undefined) { + throw new Error( + '`warning(condition, format, ...args)` requires a warning ' + + 'message argument' + ); + } + if (!condition) { + printWarning.apply(null, [format].concat(args)); + } + }; +} + +module.exports = warning; + + +/***/ }), +/* 63 */ +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.13 ToObject(argument) +var defined = __webpack_require__(135); +module.exports = function (it) { + return Object(defined(it)); +}; + + +/***/ }), +/* 64 */ +/***/ (function(module, exports) { + +module.exports = {}; + + +/***/ }), +/* 65 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _warning = __webpack_require__(13); + +var _warning2 = _interopRequireDefault(_warning); + +var _toCss = __webpack_require__(150); + +var _toCss2 = _interopRequireDefault(_toCss); + +var _toCssValue = __webpack_require__(103); + +var _toCssValue2 = _interopRequireDefault(_toCssValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var StyleRule = function () { + function StyleRule(key, style, options) { + _classCallCheck(this, StyleRule); + + this.type = 'style'; + this.isProcessed = false; + var sheet = options.sheet, + Renderer = options.Renderer, + selector = options.selector; + + this.key = key; + this.options = options; + this.style = style; + if (selector) this.selectorText = selector; + this.renderer = sheet ? sheet.renderer : new Renderer(); + } + + /** + * Set selector string. + * Attention: use this with caution. Most browsers didn't implement + * selectorText setter, so this may result in rerendering of entire Style Sheet. + */ + + + _createClass(StyleRule, [{ + key: 'prop', + + + /** + * Get or set a style property. + */ + value: function prop(name, value) { + // It's a getter. + if (value === undefined) return this.style[name]; + + // Don't do anything if the value has not changed. + if (this.style[name] === value) return this; + + value = this.options.jss.plugins.onChangeValue(value, name, this); + + var isEmpty = value == null || value === false; + var isDefined = name in this.style; + + // Value is empty and wasn't defined before. + if (isEmpty && !isDefined) return this; + + // We are going to remove this value. + var remove = isEmpty && isDefined; + + if (remove) delete this.style[name];else this.style[name] = value; + + // Renderable is defined if StyleSheet option `link` is true. + if (this.renderable) { + if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, value); + return this; + } + + var sheet = this.options.sheet; + + if (sheet && sheet.attached) { + (0, _warning2['default'])(false, 'Rule is not linked. Missing sheet option "link: true".'); + } + return this; + } + + /** + * Apply rule to an element inline. + */ + + }, { + key: 'applyTo', + value: function applyTo(renderable) { + var json = this.toJSON(); + for (var prop in json) { + this.renderer.setProperty(renderable, prop, json[prop]); + }return this; + } + + /** + * Returns JSON representation of the rule. + * Fallbacks are not supported. + * Useful for inline styles. + */ + + }, { + key: 'toJSON', + value: function toJSON() { + var json = {}; + for (var prop in this.style) { + var value = this.style[prop]; + if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = (0, _toCssValue2['default'])(value); + } + return json; + } + + /** + * Generates a CSS string. + */ + + }, { + key: 'toString', + value: function toString(options) { + var sheet = this.options.sheet; + + var link = sheet ? sheet.options.link : false; + var opts = link ? _extends({}, options, { allowEmpty: true }) : options; + return (0, _toCss2['default'])(this.selector, this.style, opts); + } + }, { + key: 'selector', + set: function set(selector) { + if (selector === this.selectorText) return; + + this.selectorText = selector; + + if (!this.renderable) return; + + var hasChanged = this.renderer.setSelector(this.renderable, selector); + + // If selector setter is not implemented, rerender the rule. + if (!hasChanged && this.renderable) { + var renderable = this.renderer.replaceRule(this.renderable, this); + if (renderable) this.renderable = renderable; + } + } + + /** + * Get selector string. + */ + , + get: function get() { + return this.selectorText; + } + }]); + + return StyleRule; +}(); + +exports['default'] = StyleRule; + +/***/ }), +/* 66 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {var assign = make_assign() +var create = make_create() +var trim = make_trim() +var Global = (typeof window !== 'undefined' ? window : global) + +module.exports = { + assign: assign, + create: create, + trim: trim, + bind: bind, + slice: slice, + each: each, + map: map, + pluck: pluck, + isList: isList, + isFunction: isFunction, + isObject: isObject, + Global: Global +} + +function make_assign() { + if (Object.assign) { + return Object.assign + } else { + return function shimAssign(obj, props1, props2, etc) { + for (var i = 1; i < arguments.length; i++) { + each(Object(arguments[i]), function(val, key) { + obj[key] = val + }) + } + return obj + } + } +} + +function make_create() { + if (Object.create) { + return function create(obj, assignProps1, assignProps2, etc) { + var assignArgsList = slice(arguments, 1) + return assign.apply(this, [Object.create(obj)].concat(assignArgsList)) + } + } else { + function F() {} // eslint-disable-line no-inner-declarations + return function create(obj, assignProps1, assignProps2, etc) { + var assignArgsList = slice(arguments, 1) + F.prototype = obj + return assign.apply(this, [new F()].concat(assignArgsList)) + } + } +} + +function make_trim() { + if (String.prototype.trim) { + return function trim(str) { + return String.prototype.trim.call(str) + } + } else { + return function trim(str) { + return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '') + } + } +} + +function bind(obj, fn) { + return function() { + return fn.apply(obj, Array.prototype.slice.call(arguments, 0)) + } +} + +function slice(arr, index) { + return Array.prototype.slice.call(arr, index || 0) +} + +function each(obj, fn) { + pluck(obj, function(val, key) { + fn(val, key) + return false + }) +} + +function map(obj, fn) { + var res = (isList(obj) ? [] : {}) + pluck(obj, function(v, k) { + res[k] = fn(v, k) + return false + }) + return res +} + +function pluck(obj, fn) { + if (isList(obj)) { + for (var i=0; i= 0) continue; + if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; + target[i] = obj[i]; + } + + return target; +}; + +/***/ }), +/* 76 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + + +/* eslint-disable no-unused-vars */ +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; + +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); +} + +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } +} + +module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; +}; + + +/***/ }), +/* 77 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _interopRequireDefault = __webpack_require__(2); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.capitalize = capitalize; +exports.contains = contains; +exports.findIndex = findIndex; +exports.find = find; +exports.createChainedFunction = createChainedFunction; + +var _typeof2 = _interopRequireDefault(__webpack_require__(250)); + +var _keys = _interopRequireDefault(__webpack_require__(49)); + +var _warning = _interopRequireDefault(__webpack_require__(13)); + +// weak +function capitalize(string) { + if (false) { + throw new Error('Material-UI: capitalize(string) expects a string argument.'); + } + + return string.charAt(0).toUpperCase() + string.slice(1); +} + +function contains(obj, pred) { + return (0, _keys.default)(pred).every(function (key) { + return obj.hasOwnProperty(key) && obj[key] === pred[key]; + }); +} + +function findIndex(arr, pred) { + var predType = (0, _typeof2.default)(pred); + + for (var i = 0; i < arr.length; i += 1) { + if (predType === 'function' && !!pred(arr[i], i, arr) === true) { + return i; + } + + if (predType === 'object' && contains(arr[i], pred)) { + return i; + } + + if (['string', 'number', 'boolean'].indexOf(predType) !== -1) { + return arr.indexOf(pred); + } + } + + return -1; +} + +function find(arr, pred) { + var index = findIndex(arr, pred); + return index > -1 ? arr[index] : undefined; +} +/** + * Safe chained function + * + * Will only create a new function if needed, + * otherwise will pass back existing functions or null. + * + * @param {function} functions to chain + * @returns {function|null} + */ + + +function createChainedFunction() { + for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { + funcs[_key] = arguments[_key]; + } + + return funcs.filter(function (func) { + return func != null; + }).reduce(function (acc, func) { + false ? (0, _warning.default)(typeof func === 'function', 'Material-UI: invalid Argument Type, must only provide functions, undefined, or null.') : void 0; + return function chainedFunction() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + acc.apply(this, args); + func.apply(this, args); + }; + }, function () {}); +} + +/***/ }), +/* 78 */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__(234); +var enumBugKeys = __webpack_require__(139); + +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; + + +/***/ }), +/* 79 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _interopRequireDefault = __webpack_require__(2); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.isNumber = exports.isString = exports.formatMs = exports.duration = exports.easing = void 0; + +var _keys = _interopRequireDefault(__webpack_require__(49)); + +var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(6)); + +var _isNan = _interopRequireDefault(__webpack_require__(567)); + +var _warning = _interopRequireDefault(__webpack_require__(13)); + +/* eslint-disable no-param-reassign */ +// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves +// to learn the context in which each easing should be used. +var easing = { + // This is the most common easing curve. + easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)', + // Objects enter the screen at full velocity from off-screen and + // slowly decelerate to a resting point. + easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)', + // Objects leave the screen at full velocity. They do not decelerate when off-screen. + easeIn: 'cubic-bezier(0.4, 0, 1, 1)', + // The sharp curve is used by objects that may return to the screen at any time. + sharp: 'cubic-bezier(0.4, 0, 0.6, 1)' +}; // Follow https://material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations +// to learn when use what timing + +exports.easing = easing; +var duration = { + shortest: 150, + shorter: 200, + short: 250, + // most basic recommended timing + standard: 300, + // this is to be used in complex animations + complex: 375, + // recommended when something is entering screen + enteringScreen: 225, + // recommended when something is leaving screen + leavingScreen: 195 +}; +exports.duration = duration; + +var formatMs = function formatMs(milliseconds) { + return "".concat(Math.round(milliseconds), "ms"); +}; + +exports.formatMs = formatMs; + +var isString = function isString(value) { + return typeof value === 'string'; +}; + +exports.isString = isString; + +var isNumber = function isNumber(value) { + return !(0, _isNan.default)(parseFloat(value)); +}; +/** + * @param {string|Array} props + * @param {object} param + * @param {string} param.prop + * @param {number} param.duration + * @param {string} param.easing + * @param {number} param.delay + */ + + +exports.isNumber = isNumber; +var _default = { + easing: easing, + duration: duration, + create: function create() { + var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['all']; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + return function () { + var _options$duration = options.duration, + durationOption = _options$duration === void 0 ? duration.standard : _options$duration, + _options$easing = options.easing, + easingOption = _options$easing === void 0 ? easing.easeInOut : _options$easing, + _options$delay = options.delay, + delay = _options$delay === void 0 ? 0 : _options$delay, + other = (0, _objectWithoutProperties2.default)(options, ["duration", "easing", "delay"]); + false ? (0, _warning.default)(isString(props) || Array.isArray(props), 'Material-UI: argument "props" must be a string or Array.') : void 0; + false ? (0, _warning.default)(isNumber(durationOption) || isString(durationOption), "Material-UI: argument \"duration\" must be a number or a string but found ".concat(durationOption, ".")) : void 0; + false ? (0, _warning.default)(isString(easingOption), 'Material-UI: argument "easing" must be a string.') : void 0; + false ? (0, _warning.default)(isNumber(delay) || isString(delay), 'Material-UI: argument "delay" must be a number or a string.') : void 0; + false ? (0, _warning.default)((0, _keys.default)(other).length === 0, "Material-UI: unrecognized argument(s) [".concat((0, _keys.default)(other).join(','), "]")) : void 0; + return (Array.isArray(props) ? props : [props]).map(function (animatedProp) { + return "".concat(animatedProp, " ").concat(typeof durationOption === 'string' ? durationOption : formatMs(durationOption), " ").concat(easingOption, " ").concat(typeof delay === 'string' ? delay : formatMs(delay)); + }).join(','); + }(); + }, + getAutoHeightDuration: function getAutoHeightDuration(height) { + if (!height) { + return 0; + } + + var constant = height / 36; // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10 + + return Math.round((4 + 15 * Math.pow(constant, 0.25) + constant / 5) * 10); + } +}; +exports.default = _default; + +/***/ }), +/* 80 */ +/***/ (function(module, exports) { + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), +/* 81 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _createRule = __webpack_require__(104); + +var _createRule2 = _interopRequireDefault(_createRule); + +var _linkRule = __webpack_require__(261); + +var _linkRule2 = _interopRequireDefault(_linkRule); + +var _StyleRule = __webpack_require__(65); + +var _StyleRule2 = _interopRequireDefault(_StyleRule); + +var _escape = __webpack_require__(537); + +var _escape2 = _interopRequireDefault(_escape); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/** + * Contains rules objects and allows adding/removing etc. + * Is used for e.g. by `StyleSheet` or `ConditionalRule`. + */ +var RuleList = function () { + + // Original styles object. + function RuleList(options) { + var _this = this; + + _classCallCheck(this, RuleList); + + this.map = {}; + this.raw = {}; + this.index = []; + + this.update = function (name, data) { + var _options = _this.options, + plugins = _options.jss.plugins, + sheet = _options.sheet; + + if (typeof name === 'string') { + plugins.onUpdate(data, _this.get(name), sheet); + } else { + for (var index = 0; index < _this.index.length; index++) { + plugins.onUpdate(name, _this.index[index], sheet); + } + } + }; + + this.options = options; + this.classes = options.classes; + } + + /** + * Create and register rule. + * + * Will not render after Style Sheet was rendered the first time. + */ + + + // Used to ensure correct rules order. + + // Rules registry for access by .get() method. + // It contains the same rule registered by name and by selector. + + + _createClass(RuleList, [{ + key: 'add', + value: function add(name, decl, options) { + var _options2 = this.options, + parent = _options2.parent, + sheet = _options2.sheet, + jss = _options2.jss, + Renderer = _options2.Renderer, + generateClassName = _options2.generateClassName; + + + options = _extends({ + classes: this.classes, + parent: parent, + sheet: sheet, + jss: jss, + Renderer: Renderer, + generateClassName: generateClassName + }, options); + + if (!options.selector && this.classes[name]) { + options.selector = '.' + (0, _escape2['default'])(this.classes[name]); + } + + this.raw[name] = decl; + + var rule = (0, _createRule2['default'])(name, decl, options); + + var className = void 0; + + if (!options.selector && rule instanceof _StyleRule2['default']) { + className = generateClassName(rule, sheet); + rule.selector = '.' + (0, _escape2['default'])(className); + } + + this.register(rule, className); + + var index = options.index === undefined ? this.index.length : options.index; + this.index.splice(index, 0, rule); + + return rule; + } + + /** + * Get a rule. + */ + + }, { + key: 'get', + value: function get(name) { + return this.map[name]; + } + + /** + * Delete a rule. + */ + + }, { + key: 'remove', + value: function remove(rule) { + this.unregister(rule); + this.index.splice(this.indexOf(rule), 1); + } + + /** + * Get index of a rule. + */ + + }, { + key: 'indexOf', + value: function indexOf(rule) { + return this.index.indexOf(rule); + } + + /** + * Run `onProcessRule()` plugins on every rule. + */ + + }, { + key: 'process', + value: function process() { + var plugins = this.options.jss.plugins; + // We need to clone array because if we modify the index somewhere else during a loop + // we end up with very hard-to-track-down side effects. + + this.index.slice(0).forEach(plugins.onProcessRule, plugins); + } + + /** + * Register a rule in `.map` and `.classes` maps. + */ + + }, { + key: 'register', + value: function register(rule, className) { + this.map[rule.key] = rule; + if (rule instanceof _StyleRule2['default']) { + this.map[rule.selector] = rule; + if (className) this.classes[rule.key] = className; + } + } + + /** + * Unregister a rule. + */ + + }, { + key: 'unregister', + value: function unregister(rule) { + delete this.map[rule.key]; + if (rule instanceof _StyleRule2['default']) { + delete this.map[rule.selector]; + delete this.classes[rule.key]; + } + } + + /** + * Update the function values with a new data. + */ + + }, { + key: 'link', + + + /** + * Link renderable rules with CSSRuleList. + */ + value: function link(cssRules) { + var map = this.options.sheet.renderer.getUnescapedKeysMap(this.index); + + for (var i = 0; i < cssRules.length; i++) { + var cssRule = cssRules[i]; + var _key = this.options.sheet.renderer.getKey(cssRule); + if (map[_key]) _key = map[_key]; + var rule = this.map[_key]; + if (rule) (0, _linkRule2['default'])(rule, cssRule); + } + } + + /** + * Convert rules to a CSS string. + */ + + }, { + key: 'toString', + value: function toString(options) { + var str = ''; + var sheet = this.options.sheet; + + var link = sheet ? sheet.options.link : false; + + for (var index = 0; index < this.index.length; index++) { + var rule = this.index[index]; + var css = rule.toString(options); + + // No need to render an empty rule. + if (!css && !link) continue; + + if (str) str += '\n'; + str += css; + } + + return str; + } + }]); + + return RuleList; +}(); + +exports['default'] = RuleList; + +/***/ }), +/* 82 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.fixControlledValue = fixControlledValue; +exports.resolveOnChange = resolveOnChange; +exports.getInputClassName = getInputClassName; +exports["default"] = exports.InputSizes = void 0; + +var React = _interopRequireWildcard(__webpack_require__(0)); + +var PropTypes = _interopRequireWildcard(__webpack_require__(1)); + +var _reactLifecyclesCompat = __webpack_require__(7); + +var _classnames = _interopRequireDefault(__webpack_require__(3)); + +var _omit = _interopRequireDefault(__webpack_require__(43)); + +var _type = __webpack_require__(70); + +var _ClearableLabeledInput = _interopRequireWildcard(__webpack_require__(284)); + +var _configProvider = __webpack_require__(12); + +var _warning = _interopRequireDefault(__webpack_require__(40)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InputSizes = (0, _type.tuple)('small', 'default', 'large'); +exports.InputSizes = InputSizes; + +function fixControlledValue(value) { + if (typeof value === 'undefined' || value === null) { + return ''; + } + + return value; +} + +function resolveOnChange(target, e, onChange) { + if (onChange) { + var event = e; + + if (e.type === 'click') { + // click clear icon + event = Object.create(e); + event.target = target; + event.currentTarget = target; + var originalInputValue = target.value; // change target ref value cause e.target.value should be '' when clear input + + target.value = ''; + onChange(event); // reset target ref value + + target.value = originalInputValue; + return; + } + + onChange(event); + } +} + +function getInputClassName(prefixCls, size, disabled) { + var _classNames; + + return (0, _classnames["default"])(prefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-sm"), size === 'small'), _defineProperty(_classNames, "".concat(prefixCls, "-lg"), size === 'large'), _defineProperty(_classNames, "".concat(prefixCls, "-disabled"), disabled), _classNames)); +} + +var Input = +/*#__PURE__*/ +function (_React$Component) { + _inherits(Input, _React$Component); + + function Input(props) { + var _this; + + _classCallCheck(this, Input); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Input).call(this, props)); + + _this.saveClearableInput = function (input) { + _this.clearableInput = input; + }; + + _this.saveInput = function (input) { + _this.input = input; + }; + + _this.handleReset = function (e) { + _this.setValue('', function () { + _this.focus(); + }); + + resolveOnChange(_this.input, e, _this.props.onChange); + }; + + _this.renderInput = function (prefixCls) { + var _this$props = _this.props, + className = _this$props.className, + addonBefore = _this$props.addonBefore, + addonAfter = _this$props.addonAfter, + size = _this$props.size, + disabled = _this$props.disabled; // Fix https://fb.me/react-unknown-prop + + var otherProps = (0, _omit["default"])(_this.props, ['prefixCls', 'onPressEnter', 'addonBefore', 'addonAfter', 'prefix', 'suffix', 'allowClear', // Input elements must be either controlled or uncontrolled, + // specify either the value prop, or the defaultValue prop, but not both. + 'defaultValue', 'size', 'inputType']); + return React.createElement("input", _extends({}, otherProps, { + onChange: _this.handleChange, + onKeyDown: _this.handleKeyDown, + className: (0, _classnames["default"])(getInputClassName(prefixCls, size, disabled), _defineProperty({}, className, className && !addonBefore && !addonAfter)), + ref: _this.saveInput + })); + }; + + _this.clearPasswordValueAttribute = function () { + // https://github.com/ant-design/ant-design/issues/20541 + _this.removePasswordTimeout = setTimeout(function () { + if (_this.input && _this.input.getAttribute('type') === 'password' && _this.input.hasAttribute('value')) { + _this.input.removeAttribute('value'); + } + }); + }; + + _this.handleChange = function (e) { + _this.setValue(e.target.value, _this.clearPasswordValueAttribute); + + resolveOnChange(_this.input, e, _this.props.onChange); + }; + + _this.handleKeyDown = function (e) { + var _this$props2 = _this.props, + onPressEnter = _this$props2.onPressEnter, + onKeyDown = _this$props2.onKeyDown; + + if (e.keyCode === 13 && onPressEnter) { + onPressEnter(e); + } + + if (onKeyDown) { + onKeyDown(e); + } + }; + + _this.renderComponent = function (_ref) { + var getPrefixCls = _ref.getPrefixCls; + var value = _this.state.value; + var customizePrefixCls = _this.props.prefixCls; + var prefixCls = getPrefixCls('input', customizePrefixCls); + return React.createElement(_ClearableLabeledInput["default"], _extends({}, _this.props, { + prefixCls: prefixCls, + inputType: "input", + value: fixControlledValue(value), + element: _this.renderInput(prefixCls), + handleReset: _this.handleReset, + ref: _this.saveClearableInput + })); + }; + + var value = typeof props.value === 'undefined' ? props.defaultValue : props.value; + _this.state = { + value: value + }; + return _this; + } + + _createClass(Input, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.clearPasswordValueAttribute(); + } // Since polyfill `getSnapshotBeforeUpdate` need work with `componentDidUpdate`. + // We keep an empty function here. + + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() {} + }, { + key: "getSnapshotBeforeUpdate", + value: function getSnapshotBeforeUpdate(prevProps) { + if ((0, _ClearableLabeledInput.hasPrefixSuffix)(prevProps) !== (0, _ClearableLabeledInput.hasPrefixSuffix)(this.props)) { + (0, _warning["default"])(this.input !== document.activeElement, 'Input', "When Input is focused, dynamic add or remove prefix / suffix will make it lose focus caused by dom structure change. Read more: https://ant.design/components/input/#FAQ"); + } + + return null; + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this.removePasswordTimeout) { + clearTimeout(this.removePasswordTimeout); + } + } + }, { + key: "focus", + value: function focus() { + this.input.focus(); + } + }, { + key: "blur", + value: function blur() { + this.input.blur(); + } + }, { + key: "select", + value: function select() { + this.input.select(); + } + }, { + key: "setValue", + value: function setValue(value, callback) { + if (!('value' in this.props)) { + this.setState({ + value: value + }, callback); + } + } + }, { + key: "render", + value: function render() { + return React.createElement(_configProvider.ConfigConsumer, null, this.renderComponent); + } + }], [{ + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(nextProps) { + if ('value' in nextProps) { + return { + value: nextProps.value + }; + } + + return null; + } + }]); + + return Input; +}(React.Component); + +Input.defaultProps = { + type: 'text' +}; +Input.propTypes = { + type: PropTypes.string, + id: PropTypes.string, + size: PropTypes.oneOf(InputSizes), + maxLength: PropTypes.number, + disabled: PropTypes.bool, + value: PropTypes.any, + defaultValue: PropTypes.any, + className: PropTypes.string, + addonBefore: PropTypes.node, + addonAfter: PropTypes.node, + prefixCls: PropTypes.string, + onPressEnter: PropTypes.func, + onKeyDown: PropTypes.func, + onKeyUp: PropTypes.func, + onFocus: PropTypes.func, + onBlur: PropTypes.func, + prefix: PropTypes.node, + suffix: PropTypes.node, + allowClear: PropTypes.bool +}; +(0, _reactLifecyclesCompat.polyfill)(Input); +var _default = Input; +exports["default"] = _default; +//# sourceMappingURL=Input.js.map + + +/***/ }), +/* 83 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; +exports.Encoders = exports.Decoders = exports.encodeNumericObject = exports.encodeNumericArray = undefined; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + +exports.encodeDate = encodeDate; +exports.decodeDate = decodeDate; +exports.encodeBoolean = encodeBoolean; +exports.decodeBoolean = decodeBoolean; +exports.encodeNumber = encodeNumber; +exports.decodeNumber = decodeNumber; +exports.encodeString = encodeString; +exports.decodeString = decodeString; +exports.encodeJson = encodeJson; +exports.decodeJson = decodeJson; +exports.encodeArray = encodeArray; +exports.decodeArray = decodeArray; +exports.decodeNumericArray = decodeNumericArray; +exports.encodeObject = encodeObject; +exports.decodeObject = decodeObject; +exports.decodeNumericObject = decodeNumericObject; +exports.decode = decode; +exports.encode = encode; + +var _urlQueryConfig = __webpack_require__(84); + +var _urlQueryConfig2 = _interopRequireDefault(_urlQueryConfig); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } /** + * Functions for encoding and decoding values as strings. + */ + + +/** + * Encodes a date as a string in YYYY-MM-DD format. + * + * @param {Date} date + * @return {String} the encoded date + */ +function encodeDate(date) { + if (date == null) { + return date; + } + + var year = date.getFullYear(); + var month = date.getMonth() + 1; + var day = date.getDate(); + + return year + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day); +} + +/** + * Converts a date in the format 'YYYY-mm-dd...' into a proper date, because + * new Date() does not do that correctly. The date can be as complete or incomplete + * as necessary (aka, '2015', '2015-10', '2015-10-01'). + * It will not work for dates that have times included in them. + * + * @param {String} dateString String date form like '2015-10-01' + * @return {Date} parsed date + */ +function decodeDate(dateString) { + if (dateString == null || !dateString.length) { + return undefined; + } + + var parts = dateString.split('-'); + // may only be a year so won't even have a month + if (parts[1] != null) { + parts[1] -= 1; // Note: months are 0-based + } else { + // just a year, set the month and day to the first + parts[1] = 0; + parts[2] = 1; + } + + var decoded = new (Function.prototype.bind.apply(Date, [null].concat(_toConsumableArray(parts))))(); + + if (isNaN(decoded.getTime())) { + return undefined; + } + + return decoded; +} + +/** + * Encodes a boolean as a string. true -> "1", false -> "0". + * + * @param {Boolean} bool + * @return {String} the encoded boolean + */ +function encodeBoolean(bool) { + if (bool === undefined) { + return undefined; + } + + return bool ? '1' : '0'; +} + +/** + * Decodes a boolean from a string. "1" -> true, "0" -> false. + * Everything else maps to undefined. + * + * @param {String} boolStr the encoded boolean string + * @return {Boolean} the boolean value + */ +function decodeBoolean(boolStr) { + if (boolStr === '1') { + return true; + } else if (boolStr === '0') { + return false; + } + + return undefined; +} + +/** + * Encodes a number as a string. + * + * @param {Number} num + * @return {String} the encoded number + */ +function encodeNumber(num) { + if (num == null) { + return undefined; + } + + return String(num); +} + +/** + * Decodes a number from a string via parseFloat. If the number is invalid, + * it returns undefined. + * + * @param {String} numStr the encoded number string + * @return {Number} the number value + */ +function decodeNumber(numStr) { + if (numStr == null) { + return undefined; + } + + var result = parseFloat(numStr); + + if (isNaN(result)) { + return undefined; + } + + return result; +} + +/** + * Encodes a string while safely handling null and undefined values. + * + * @param {String} string + * @return {String} the encoded string + */ +function encodeString(str) { + if (str == null) { + return undefined; + } + + return String(str); +} + +/** + * Decodes a string while safely handling null and undefined values. + * + * @param {String} str the encoded string + * @return {String} the string value + */ +function decodeString(str) { + if (str == null) { + return undefined; + } + + return String(str); +} + +/** + * Encodes anything as a JSON string. + * + * @param {Any} any The thing to be encoded + * @return {String} The JSON string representation of any + */ +function encodeJson(any) { + if (any == null) { + return undefined; + } + + return JSON.stringify(any); +} + +/** + * Decodes a JSON string into javascript + * + * @param {String} jsonStr The JSON string representation + * @return {Any} The javascript representation + */ +function decodeJson(jsonStr) { + if (!jsonStr) { + return undefined; + } + + var result = void 0; + try { + result = JSON.parse(jsonStr); + } catch (e) { + /* ignore errors, returning undefined */ + } + + return result; +} + +/** + * Encodes an array as a JSON string. + * + * @param {Array} array The array to be encoded + * @return {String} The JSON string representation of array + */ +function encodeArray(array) { + var entrySeparator = arguments.length <= 1 || arguments[1] === undefined ? _urlQueryConfig2.default.entrySeparator : arguments[1]; + + if (!array) { + return undefined; + } + + return array.join(entrySeparator); +} + +/** + * Decodes a JSON string into javascript array + * + * @param {String} jsonStr The JSON string representation + * @return {Array} The javascript representation + */ +function decodeArray(arrayStr) { + var entrySeparator = arguments.length <= 1 || arguments[1] === undefined ? _urlQueryConfig2.default.entrySeparator : arguments[1]; + + if (!arrayStr) { + return undefined; + } + + return arrayStr.split(entrySeparator).map(function (item) { + return item === '' ? undefined : item; + }); +} + +/** + * Encodes a numeric array as a JSON string. (alias of encodeArray) + * + * @param {Array} array The array to be encoded + * @return {String} The JSON string representation of array + */ +var encodeNumericArray = exports.encodeNumericArray = encodeArray; + +/** + * Decodes a JSON string into javascript array where all entries are numbers + * + * @param {String} jsonStr The JSON string representation + * @return {Array} The javascript representation + */ +function decodeNumericArray(arrayStr) { + var entrySeparator = arguments.length <= 1 || arguments[1] === undefined ? _urlQueryConfig2.default.entrySeparator : arguments[1]; + + var decoded = decodeArray(arrayStr, entrySeparator); + + if (!decoded) { + return undefined; + } + + return decoded.map(function (d) { + return d == null ? d : +d; + }); +} + +/** + * Encode simple objects as readable strings. Currently works only for simple, + * flat objects where values are numbers, booleans or strings. + * + * For example { foo: bar, boo: baz } -> "foo-bar_boo-baz" + * + * @param {Object} object The object to encode + * @param {String} keyValSeparator="-" The separator between keys and values + * @param {String} entrySeparator="_" The separator between entries + * @return {String} The encoded object + */ +function encodeObject(obj) { + var keyValSeparator = arguments.length <= 1 || arguments[1] === undefined ? _urlQueryConfig2.default.keyValSeparator : arguments[1]; + var entrySeparator = arguments.length <= 2 || arguments[2] === undefined ? _urlQueryConfig2.default.entrySeparator : arguments[2]; + + if (!obj || !Object.keys(obj).length) { + return undefined; + } + + return Object.keys(obj).map(function (key) { + return '' + key + keyValSeparator + obj[key]; + }).join(entrySeparator); +} + +/** + * Decodes a simple object to javascript. Currently works only for simple, + * flat objects where values are numbers, booleans or strings. + * + * For example "foo-bar_boo-baz" -> { foo: bar, boo: baz } + * + * @param {String} objStr The object string to decode + * @param {String} keyValSeparator="-" The separator between keys and values + * @param {String} entrySeparator="_" The separator between entries + * @return {Object} The javascript object + */ +function decodeObject(objStr) { + var keyValSeparator = arguments.length <= 1 || arguments[1] === undefined ? _urlQueryConfig2.default.keyValSeparator : arguments[1]; + var entrySeparator = arguments.length <= 2 || arguments[2] === undefined ? _urlQueryConfig2.default.entrySeparator : arguments[2]; + + if (!objStr || !objStr.length) { + return undefined; + } + var obj = {}; + + objStr.split(entrySeparator).forEach(function (entryStr) { + var _entryStr$split = entryStr.split(keyValSeparator); + + var _entryStr$split2 = _slicedToArray(_entryStr$split, 2); + + var key = _entryStr$split2[0]; + var value = _entryStr$split2[1]; + + obj[key] = value; + }); + + return obj; +} + +/** + * Encode simple objects as readable strings. Alias of encodeObject. + * + * For example { foo: 123, boo: 521 } -> "foo-123_boo-521" + * + * @param {Object} object The object to encode + * @param {String} keyValSeparator="-" The separator between keys and values + * @param {String} entrySeparator="_" The separator between entries + * @return {String} The encoded object + */ +var encodeNumericObject = exports.encodeNumericObject = encodeObject; + +/** + * Decodes a simple object to javascript where all values are numbers. + * Currently works only for simple, flat objects. + * + * For example "foo-123_boo-521" -> { foo: 123, boo: 521 } + * + * @param {String} objStr The object string to decode + * @param {String} keyValSeparator="-" The separator between keys and values + * @param {String} entrySeparator="_" The separator between entries + * @return {Object} The javascript object + */ +function decodeNumericObject(objStr) { + var keyValSeparator = arguments.length <= 1 || arguments[1] === undefined ? _urlQueryConfig2.default.keyValSeparator : arguments[1]; + var entrySeparator = arguments.length <= 2 || arguments[2] === undefined ? _urlQueryConfig2.default.entrySeparator : arguments[2]; + + var decoded = decodeObject(objStr, keyValSeparator, entrySeparator); + + if (!decoded) { + return undefined; + } + + // convert to numbers + Object.keys(decoded).forEach(function (key) { + decoded[key] = decoded[key] == null ? decoded[key] : +decoded[key]; + }); + + return decoded; +} + +/** + * Collection of Decoders by type + */ +var Decoders = exports.Decoders = { + number: decodeNumber, + string: decodeString, + object: decodeObject, + array: decodeArray, + json: decodeJson, + date: decodeDate, + boolean: decodeBoolean, + numericObject: decodeNumericObject, + numericArray: decodeNumericArray +}; + +/** + * Generic decode function that takes a type as an argument. + * + * @param {String|Function} type If a function, it is used to decode, otherwise the string is + * the key for the decoder in the Decoders collection. + * @param {String} encodedValue the value to decode + * @param {Any} defaultValue The default value to use if encodedValue is undefined. + * @return {Any} The decoded value + */ +function decode(type, encodedValue, defaultValue) { + var decodedValue = void 0; + + if (typeof type === 'function') { + decodedValue = type(encodedValue, defaultValue); + } else if ((typeof type === 'undefined' ? 'undefined' : _typeof(type)) === 'object' && type.decode) { + decodedValue = type.decode(encodedValue, defaultValue); + } else if (encodedValue === undefined) { + decodedValue = defaultValue; + } else if (Decoders[type]) { + decodedValue = Decoders[type](encodedValue); + } else { + decodedValue = encodedValue; + } + + return decodedValue; +} + +/** + * Collection of Decoders by type + */ +var Encoders = exports.Encoders = { + number: encodeNumber, + string: encodeString, + object: encodeObject, + array: encodeArray, + json: encodeJson, + date: encodeDate, + boolean: encodeBoolean, + numericObject: encodeNumericObject, + numericArray: encodeNumericArray +}; + +/** + * Generic encode function that takes a type as an argument. + * + * @param {String|Function} type If a function, it is used to encode, otherwise the string is + * the key for the encoder in the Encoders collection. + * @param {String} decodedValue the value to encode + * @return {Any} The encoded value + */ +function encode(type, decodedValue) { + var encodedValue = void 0; + if (typeof type === 'function') { + encodedValue = type(decodedValue); + } else if ((typeof type === 'undefined' ? 'undefined' : _typeof(type)) === 'object' && type.encode) { + encodedValue = type.encode(decodedValue); + } else if (Encoders[type]) { + encodedValue = Encoders[type](decodedValue); + } else { + encodedValue = decodedValue; + } + + return encodedValue; +} + +/***/ }), +/* 84 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; +// function to create the singleton options object that can be shared +// throughout an application +function createUrlQueryConfig() { + // default options + return { + // add in generated URL change handlers based on a urlPropsQueryConfig if provided + addUrlChangeHandlers: true, + + // add in `props.params` from react-router to the url object + addRouterParams: true, + + // function to specify change handler name (onChange) + changeHandlerName: function changeHandlerName(propName) { + return 'onChange' + propName[0].toUpperCase() + propName.substring(1); + }, + + // use this history if no history is specified + history: { + push: function push() { + // eslint-disable-next-line + console.error('No history provided to react-url-query. Please provide one via configureUrlQuery.'); + }, + replace: function replace() { + // eslint-disable-next-line + console.error('No history provided to react-url-query. Please provide one via configureUrlQuery.'); + } + }, + + // reads in location from react-router-redux if available and passes it + // to the reducer in the urlQueryMiddleware + readLocationFromStore: function readLocationFromStore(state) { + if (state && state.routing) { + return state.routing.locationBeforeTransitions; + } + + return undefined; + }, + + /** + * The separator between entries + * @default {String} "_" + */ + entrySeparator: '_', + /** + * The separator between keys and values + * @default {String} "-" + */ + keyValSeparator: '-' + }; +} + +exports.default = createUrlQueryConfig(); + +/***/ }), +/* 85 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; +var UrlUpdateTypes = { + replace: 'replace', + replaceIn: 'replaceIn', + push: 'push', + pushIn: 'pushIn' +}; + +exports.default = UrlUpdateTypes; + +/***/ }), +/* 86 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(module) {var require;//! moment.js + +;(function (global, factory) { + true ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + global.moment = factory() +}(this, (function () { 'use strict'; + + var hookCallback; + + function hooks () { + return hookCallback.apply(null, arguments); + } + + // This is done to register the method called with moment() + // without creating circular dependencies. + function setHookCallback (callback) { + hookCallback = callback; + } + + function isArray(input) { + return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]'; + } + + function isObject(input) { + // IE8 will treat undefined and null as object if it wasn't for + // input != null + return input != null && Object.prototype.toString.call(input) === '[object Object]'; + } + + function isObjectEmpty(obj) { + if (Object.getOwnPropertyNames) { + return (Object.getOwnPropertyNames(obj).length === 0); + } else { + var k; + for (k in obj) { + if (obj.hasOwnProperty(k)) { + return false; + } + } + return true; + } + } + + function isUndefined(input) { + return input === void 0; + } + + function isNumber(input) { + return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]'; + } + + function isDate(input) { + return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]'; + } + + function map(arr, fn) { + var res = [], i; + for (i = 0; i < arr.length; ++i) { + res.push(fn(arr[i], i)); + } + return res; + } + + function hasOwnProp(a, b) { + return Object.prototype.hasOwnProperty.call(a, b); + } + + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } + } + + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } + + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } + + return a; + } + + function createUTC (input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, true).utc(); + } + + function defaultParsingFlags() { + // We need to deep clone this object. + return { + empty : false, + unusedTokens : [], + unusedInput : [], + overflow : -2, + charsLeftOver : 0, + nullInput : false, + invalidMonth : null, + invalidFormat : false, + userInvalidated : false, + iso : false, + parsedDateParts : [], + meridiem : null, + rfc2822 : false, + weekdayMismatch : false + }; + } + + function getParsingFlags(m) { + if (m._pf == null) { + m._pf = defaultParsingFlags(); + } + return m._pf; + } + + var some; + if (Array.prototype.some) { + some = Array.prototype.some; + } else { + some = function (fun) { + var t = Object(this); + var len = t.length >>> 0; + + for (var i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return true; + } + } + + return false; + }; + } + + function isValid(m) { + if (m._isValid == null) { + var flags = getParsingFlags(m); + var parsedParts = some.call(flags.parsedDateParts, function (i) { + return i != null; + }); + var isNowValid = !isNaN(m._d.getTime()) && + flags.overflow < 0 && + !flags.empty && + !flags.invalidMonth && + !flags.invalidWeekday && + !flags.weekdayMismatch && + !flags.nullInput && + !flags.invalidFormat && + !flags.userInvalidated && + (!flags.meridiem || (flags.meridiem && parsedParts)); + + if (m._strict) { + isNowValid = isNowValid && + flags.charsLeftOver === 0 && + flags.unusedTokens.length === 0 && + flags.bigHour === undefined; + } + + if (Object.isFrozen == null || !Object.isFrozen(m)) { + m._isValid = isNowValid; + } + else { + return isNowValid; + } + } + return m._isValid; + } + + function createInvalid (flags) { + var m = createUTC(NaN); + if (flags != null) { + extend(getParsingFlags(m), flags); + } + else { + getParsingFlags(m).userInvalidated = true; + } + + return m; + } + + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + var momentProperties = hooks.momentProperties = []; + + function copyConfig(to, from) { + var i, prop, val; + + if (!isUndefined(from._isAMomentObject)) { + to._isAMomentObject = from._isAMomentObject; + } + if (!isUndefined(from._i)) { + to._i = from._i; + } + if (!isUndefined(from._f)) { + to._f = from._f; + } + if (!isUndefined(from._l)) { + to._l = from._l; + } + if (!isUndefined(from._strict)) { + to._strict = from._strict; + } + if (!isUndefined(from._tzm)) { + to._tzm = from._tzm; + } + if (!isUndefined(from._isUTC)) { + to._isUTC = from._isUTC; + } + if (!isUndefined(from._offset)) { + to._offset = from._offset; + } + if (!isUndefined(from._pf)) { + to._pf = getParsingFlags(from); + } + if (!isUndefined(from._locale)) { + to._locale = from._locale; + } + + if (momentProperties.length > 0) { + for (i = 0; i < momentProperties.length; i++) { + prop = momentProperties[i]; + val = from[prop]; + if (!isUndefined(val)) { + to[prop] = val; + } + } + } + + return to; + } + + var updateInProgress = false; + + // Moment prototype object + function Moment(config) { + copyConfig(this, config); + this._d = new Date(config._d != null ? config._d.getTime() : NaN); + if (!this.isValid()) { + this._d = new Date(NaN); + } + // Prevent infinite loop in case updateOffset creates new moment + // objects. + if (updateInProgress === false) { + updateInProgress = true; + hooks.updateOffset(this); + updateInProgress = false; + } + } + + function isMoment (obj) { + return obj instanceof Moment || (obj != null && obj._isAMomentObject != null); + } + + function absFloor (number) { + if (number < 0) { + // -0 -> 0 + return Math.ceil(number) || 0; + } else { + return Math.floor(number); + } + } + + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + value = absFloor(coercedNumber); + } + + return value; + } + + // compare two arrays, return the number of differences + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ((dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { + diffs++; + } + } + return diffs + lengthDiff; + } + + function warn(msg) { + if (hooks.suppressDeprecationWarnings === false && + (typeof console !== 'undefined') && console.warn) { + console.warn('Deprecation warning: ' + msg); + } + } + + function deprecate(msg, fn) { + var firstTime = true; + + return extend(function () { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(null, msg); + } + if (firstTime) { + var args = []; + var arg; + for (var i = 0; i < arguments.length; i++) { + arg = ''; + if (typeof arguments[i] === 'object') { + arg += '\n[' + i + '] '; + for (var key in arguments[0]) { + arg += key + ': ' + arguments[0][key] + ', '; + } + arg = arg.slice(0, -2); // Remove trailing comma and space + } else { + arg = arguments[i]; + } + args.push(arg); + } + warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); + } + + var deprecations = {}; + + function deprecateSimple(name, msg) { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(name, msg); + } + if (!deprecations[name]) { + warn(msg); + deprecations[name] = true; + } + } + + hooks.suppressDeprecationWarnings = false; + hooks.deprecationHandler = null; + + function isFunction(input) { + return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; + } + + function set (config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (isFunction(prop)) { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + this._config = config; + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. + // TODO: Remove "ordinalParse" fallback in next major release. + this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + '|' + (/\d{1,2}/).source); + } + + function mergeConfigs(parentConfig, childConfig) { + var res = extend({}, parentConfig), prop; + for (prop in childConfig) { + if (hasOwnProp(childConfig, prop)) { + if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { + res[prop] = {}; + extend(res[prop], parentConfig[prop]); + extend(res[prop], childConfig[prop]); + } else if (childConfig[prop] != null) { + res[prop] = childConfig[prop]; + } else { + delete res[prop]; + } + } + } + for (prop in parentConfig) { + if (hasOwnProp(parentConfig, prop) && + !hasOwnProp(childConfig, prop) && + isObject(parentConfig[prop])) { + // make sure changes to properties don't modify parent config + res[prop] = extend({}, res[prop]); + } + } + return res; + } + + function Locale(config) { + if (config != null) { + this.set(config); + } + } + + var keys; + + if (Object.keys) { + keys = Object.keys; + } else { + keys = function (obj) { + var i, res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; + } + + var defaultCalendar = { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }; + + function calendar (key, mom, now) { + var output = this._calendar[key] || this._calendar['sameElse']; + return isFunction(output) ? output.call(mom, now) : output; + } + + var defaultLongDateFormat = { + LTS : 'h:mm:ss A', + LT : 'h:mm A', + L : 'MM/DD/YYYY', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY h:mm A', + LLLL : 'dddd, MMMM D, YYYY h:mm A' + }; + + function longDateFormat (key) { + var format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + + if (format || !formatUpper) { + return format; + } + + this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { + return val.slice(1); + }); + + return this._longDateFormat[key]; + } + + var defaultInvalidDate = 'Invalid date'; + + function invalidDate () { + return this._invalidDate; + } + + var defaultOrdinal = '%d'; + var defaultDayOfMonthOrdinalParse = /\d{1,2}/; + + function ordinal (number) { + return this._ordinal.replace('%d', number); + } + + var defaultRelativeTime = { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }; + + function relativeTime (number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return (isFunction(output)) ? + output(number, withoutSuffix, string, isFuture) : + output.replace(/%d/i, number); + } + + function pastFuture (diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return isFunction(format) ? format(output) : format.replace(/%s/i, output); + } + + var aliases = {}; + + function addUnitAlias (unit, shorthand) { + var lowerCase = unit.toLowerCase(); + aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; + } + + function normalizeUnits(units) { + return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined; + } + + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; + + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + + return normalizedInput; + } + + var priorities = {}; + + function addUnitPriority(unit, priority) { + priorities[unit] = priority; + } + + function getPrioritizedUnits(unitsObj) { + var units = []; + for (var u in unitsObj) { + units.push({unit: u, priority: priorities[u]}); + } + units.sort(function (a, b) { + return a.priority - b.priority; + }); + return units; + } + + function zeroFill(number, targetLength, forceSign) { + var absNumber = '' + Math.abs(number), + zerosToFill = targetLength - absNumber.length, + sign = number >= 0; + return (sign ? (forceSign ? '+' : '') : '-') + + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; + } + + var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; + + var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; + + var formatFunctions = {}; + + var formatTokenFunctions = {}; + + // token: 'M' + // padded: ['MM', 2] + // ordinal: 'Mo' + // callback: function () { this.month() + 1 } + function addFormatToken (token, padded, ordinal, callback) { + var func = callback; + if (typeof callback === 'string') { + func = function () { + return this[callback](); + }; + } + if (token) { + formatTokenFunctions[token] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function () { + return zeroFill(func.apply(this, arguments), padded[1], padded[2]); + }; + } + if (ordinal) { + formatTokenFunctions[ordinal] = function () { + return this.localeData().ordinal(func.apply(this, arguments), token); + }; + } + } + + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } + + function makeFormatFunction(format) { + var array = format.match(formattingTokens), i, length; + + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + + return function (mom) { + var output = '', i; + for (i = 0; i < length; i++) { + output += isFunction(array[i]) ? array[i].call(mom, format) : array[i]; + } + return output; + }; + } + + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + + format = expandFormat(format, m.localeData()); + formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format); + + return formatFunctions[format](m); + } + + function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + + return format; + } + + var match1 = /\d/; // 0 - 9 + var match2 = /\d\d/; // 00 - 99 + var match3 = /\d{3}/; // 000 - 999 + var match4 = /\d{4}/; // 0000 - 9999 + var match6 = /[+-]?\d{6}/; // -999999 - 999999 + var match1to2 = /\d\d?/; // 0 - 99 + var match3to4 = /\d\d\d\d?/; // 999 - 9999 + var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999 + var match1to3 = /\d{1,3}/; // 0 - 999 + var match1to4 = /\d{1,4}/; // 0 - 9999 + var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999 + + var matchUnsigned = /\d+/; // 0 - inf + var matchSigned = /[+-]?\d+/; // -inf - inf + + var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z + var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z + + var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123 + + // any word (or two) characters or numbers including two/three word month in arabic. + // includes scottish gaelic two word and hyphenated months + var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; + + var regexes = {}; + + function addRegexToken (token, regex, strictRegex) { + regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) { + return (isStrict && strictRegex) ? strictRegex : regex; + }; + } + + function getParseRegexForToken (token, config) { + if (!hasOwnProp(regexes, token)) { + return new RegExp(unescapeFormat(token)); + } + + return regexes[token](config._strict, config._locale); + } + + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function unescapeFormat(s) { + return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + })); + } + + function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + var tokens = {}; + + function addParseToken (token, callback) { + var i, func = callback; + if (typeof token === 'string') { + token = [token]; + } + if (isNumber(callback)) { + func = function (input, array) { + array[callback] = toInt(input); + }; + } + for (i = 0; i < token.length; i++) { + tokens[token[i]] = func; + } + } + + function addWeekParseToken (token, callback) { + addParseToken(token, function (input, array, config, token) { + config._w = config._w || {}; + callback(input, config._w, config, token); + }); + } + + function addTimeToArrayFromToken(token, input, config) { + if (input != null && hasOwnProp(tokens, token)) { + tokens[token](input, config._a, config, token); + } + } + + var YEAR = 0; + var MONTH = 1; + var DATE = 2; + var HOUR = 3; + var MINUTE = 4; + var SECOND = 5; + var MILLISECOND = 6; + var WEEK = 7; + var WEEKDAY = 8; + + // FORMATTING + + addFormatToken('Y', 0, 0, function () { + var y = this.year(); + return y <= 9999 ? '' + y : '+' + y; + }); + + addFormatToken(0, ['YY', 2], 0, function () { + return this.year() % 100; + }); + + addFormatToken(0, ['YYYY', 4], 0, 'year'); + addFormatToken(0, ['YYYYY', 5], 0, 'year'); + addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); + + // ALIASES + + addUnitAlias('year', 'y'); + + // PRIORITIES + + addUnitPriority('year', 1); + + // PARSING + + addRegexToken('Y', matchSigned); + addRegexToken('YY', match1to2, match2); + addRegexToken('YYYY', match1to4, match4); + addRegexToken('YYYYY', match1to6, match6); + addRegexToken('YYYYYY', match1to6, match6); + + addParseToken(['YYYYY', 'YYYYYY'], YEAR); + addParseToken('YYYY', function (input, array) { + array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); + }); + addParseToken('YY', function (input, array) { + array[YEAR] = hooks.parseTwoDigitYear(input); + }); + addParseToken('Y', function (input, array) { + array[YEAR] = parseInt(input, 10); + }); + + // HELPERS + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + + // HOOKS + + hooks.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; + + // MOMENTS + + var getSetYear = makeGetSet('FullYear', true); + + function getIsLeapYear () { + return isLeapYear(this.year()); + } + + function makeGetSet (unit, keepTime) { + return function (value) { + if (value != null) { + set$1(this, unit, value); + hooks.updateOffset(this, keepTime); + return this; + } else { + return get(this, unit); + } + }; + } + + function get (mom, unit) { + return mom.isValid() ? + mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; + } + + function set$1 (mom, unit, value) { + if (mom.isValid() && !isNaN(value)) { + if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month())); + } + else { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } + } + } + + // MOMENTS + + function stringGet (units) { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](); + } + return this; + } + + + function stringSet (units, value) { + if (typeof units === 'object') { + units = normalizeObjectUnits(units); + var prioritized = getPrioritizedUnits(units); + for (var i = 0; i < prioritized.length; i++) { + this[prioritized[i].unit](units[prioritized[i].unit]); + } + } else { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](value); + } + } + return this; + } + + function mod(n, x) { + return ((n % x) + x) % x; + } + + var indexOf; + + if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; + } else { + indexOf = function (o) { + // I know + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; + } + + function daysInMonth(year, month) { + if (isNaN(year) || isNaN(month)) { + return NaN; + } + var modMonth = mod(month, 12); + year += (month - modMonth) / 12; + return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2); + } + + // FORMATTING + + addFormatToken('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; + }); + + addFormatToken('MMM', 0, 0, function (format) { + return this.localeData().monthsShort(this, format); + }); + + addFormatToken('MMMM', 0, 0, function (format) { + return this.localeData().months(this, format); + }); + + // ALIASES + + addUnitAlias('month', 'M'); + + // PRIORITY + + addUnitPriority('month', 8); + + // PARSING + + addRegexToken('M', match1to2); + addRegexToken('MM', match1to2, match2); + addRegexToken('MMM', function (isStrict, locale) { + return locale.monthsShortRegex(isStrict); + }); + addRegexToken('MMMM', function (isStrict, locale) { + return locale.monthsRegex(isStrict); + }); + + addParseToken(['M', 'MM'], function (input, array) { + array[MONTH] = toInt(input) - 1; + }); + + addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { + var month = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } + }); + + // LOCALES + + var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/; + var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'); + function localeMonths (m, format) { + if (!m) { + return isArray(this._months) ? this._months : + this._months['standalone']; + } + return isArray(this._months) ? this._months[m.month()] : + this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()]; + } + + var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); + function localeMonthsShort (m, format) { + if (!m) { + return isArray(this._monthsShort) ? this._monthsShort : + this._monthsShort['standalone']; + } + return isArray(this._monthsShort) ? this._monthsShort[m.month()] : + this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; + } + + function handleStrictParse(monthName, format, strict) { + var i, ii, mom, llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + // this is not used + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeMonthsParse (monthName, format, strict) { + var i, mom, regex; + + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format, strict); + } + + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + + // TODO: add sorting + // Sorting makes sure if one month (or abbr) is a prefix of another + // see sorting in computeMonthsParse + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); + this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); + } + if (!strict && !this._monthsParse[i]) { + regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { + return i; + } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + } + + // MOMENTS + + function setMonth (mom, value) { + var dayOfMonth; + + if (!mom.isValid()) { + // No op + return mom; + } + + if (typeof value === 'string') { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (!isNumber(value)) { + return mom; + } + } + } + + dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; + } + + function getSetMonth (value) { + if (value != null) { + setMonth(this, value); + hooks.updateOffset(this, true); + return this; + } else { + return get(this, 'Month'); + } + } + + function getDaysInMonth () { + return daysInMonth(this.year(), this.month()); + } + + var defaultMonthsShortRegex = matchWord; + function monthsShortRegex (isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsShortStrictRegex; + } else { + return this._monthsShortRegex; + } + } else { + if (!hasOwnProp(this, '_monthsShortRegex')) { + this._monthsShortRegex = defaultMonthsShortRegex; + } + return this._monthsShortStrictRegex && isStrict ? + this._monthsShortStrictRegex : this._monthsShortRegex; + } + } + + var defaultMonthsRegex = matchWord; + function monthsRegex (isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsStrictRegex; + } else { + return this._monthsRegex; + } + } else { + if (!hasOwnProp(this, '_monthsRegex')) { + this._monthsRegex = defaultMonthsRegex; + } + return this._monthsStrictRegex && isStrict ? + this._monthsStrictRegex : this._monthsRegex; + } + } + + function computeMonthsParse () { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var shortPieces = [], longPieces = [], mixedPieces = [], + i, mom; + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + shortPieces.push(this.monthsShort(mom, '')); + longPieces.push(this.months(mom, '')); + mixedPieces.push(this.months(mom, '')); + mixedPieces.push(this.monthsShort(mom, '')); + } + // Sorting makes sure if one month (or abbr) is a prefix of another it + // will match the longer piece. + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 12; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + } + for (i = 0; i < 24; i++) { + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._monthsShortRegex = this._monthsRegex; + this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); + } + + function createDate (y, m, d, h, M, s, ms) { + // can't just apply() to create a date: + // https://stackoverflow.com/q/181348 + var date; + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + date = new Date(y + 400, m, d, h, M, s, ms); + if (isFinite(date.getFullYear())) { + date.setFullYear(y); + } + } else { + date = new Date(y, m, d, h, M, s, ms); + } + + return date; + } + + function createUTCDate (y) { + var date; + // the Date.UTC function remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + var args = Array.prototype.slice.call(arguments); + // preserve leap years using a full 400 year cycle, then reset + args[0] = y + 400; + date = new Date(Date.UTC.apply(null, args)); + if (isFinite(date.getUTCFullYear())) { + date.setUTCFullYear(y); + } + } else { + date = new Date(Date.UTC.apply(null, arguments)); + } + + return date; + } + + // start-of-first-week - start-of-year + function firstWeekOffset(year, dow, doy) { + var // first-week day -- which january is always in the first week (4 for iso, 1 for other) + fwd = 7 + dow - doy, + // first-week day local weekday -- which local weekday is fwd + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + + return -fwdlw + fwd - 1; + } + + // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, + weekOffset = firstWeekOffset(year, dow, doy), + dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, + resYear, resDayOfYear; + + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; + } + + return { + year: resYear, + dayOfYear: resDayOfYear + }; + } + + function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), + week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, + resWeek, resYear; + + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; + } + + return { + week: resWeek, + year: resYear + }; + } + + function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), + weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; + } + + // FORMATTING + + addFormatToken('w', ['ww', 2], 'wo', 'week'); + addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + + // ALIASES + + addUnitAlias('week', 'w'); + addUnitAlias('isoWeek', 'W'); + + // PRIORITIES + + addUnitPriority('week', 5); + addUnitPriority('isoWeek', 5); + + // PARSING + + addRegexToken('w', match1to2); + addRegexToken('ww', match1to2, match2); + addRegexToken('W', match1to2); + addRegexToken('WW', match1to2, match2); + + addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { + week[token.substr(0, 1)] = toInt(input); + }); + + // HELPERS + + // LOCALES + + function localeWeek (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + } + + var defaultLocaleWeek = { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + }; + + function localeFirstDayOfWeek () { + return this._week.dow; + } + + function localeFirstDayOfYear () { + return this._week.doy; + } + + // MOMENTS + + function getSetWeek (input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + function getSetISOWeek (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + // FORMATTING + + addFormatToken('d', 0, 'do', 'day'); + + addFormatToken('dd', 0, 0, function (format) { + return this.localeData().weekdaysMin(this, format); + }); + + addFormatToken('ddd', 0, 0, function (format) { + return this.localeData().weekdaysShort(this, format); + }); + + addFormatToken('dddd', 0, 0, function (format) { + return this.localeData().weekdays(this, format); + }); + + addFormatToken('e', 0, 0, 'weekday'); + addFormatToken('E', 0, 0, 'isoWeekday'); + + // ALIASES + + addUnitAlias('day', 'd'); + addUnitAlias('weekday', 'e'); + addUnitAlias('isoWeekday', 'E'); + + // PRIORITY + addUnitPriority('day', 11); + addUnitPriority('weekday', 11); + addUnitPriority('isoWeekday', 11); + + // PARSING + + addRegexToken('d', match1to2); + addRegexToken('e', match1to2); + addRegexToken('E', match1to2); + addRegexToken('dd', function (isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); + }); + addRegexToken('ddd', function (isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); + }); + addRegexToken('dddd', function (isStrict, locale) { + return locale.weekdaysRegex(isStrict); + }); + + addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { + var weekday = config._locale.weekdaysParse(input, token, config._strict); + // if we didn't get a weekday name, mark the date as invalid + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } + }); + + addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { + week[token] = toInt(input); + }); + + // HELPERS + + function parseWeekday(input, locale) { + if (typeof input !== 'string') { + return input; + } + + if (!isNaN(input)) { + return parseInt(input, 10); + } + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; + } + + return null; + } + + function parseIsoWeekday(input, locale) { + if (typeof input === 'string') { + return locale.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; + } + + // LOCALES + function shiftWeekdays (ws, n) { + return ws.slice(n, 7).concat(ws.slice(0, n)); + } + + var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'); + function localeWeekdays (m, format) { + var weekdays = isArray(this._weekdays) ? this._weekdays : + this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone']; + return (m === true) ? shiftWeekdays(weekdays, this._week.dow) + : (m) ? weekdays[m.day()] : weekdays; + } + + var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'); + function localeWeekdaysShort (m) { + return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow) + : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort; + } + + var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'); + function localeWeekdaysMin (m) { + return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow) + : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin; + } + + function handleStrictParse$1(weekdayName, format, strict) { + var i, ii, mom, llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + + for (i = 0; i < 7; ++i) { + mom = createUTC([2000, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeWeekdaysParse (weekdayName, format, strict) { + var i, mom, regex; + + if (this._weekdaysParseExact) { + return handleStrictParse$1.call(this, weekdayName, format, strict); + } + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + + mom = createUTC([2000, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i'); + this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i'); + this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i'); + } + if (!this._weekdaysParse[i]) { + regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + } + + // MOMENTS + + function getSetDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; + } + } + + function getSetLocaleDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); + } + + function getSetISODayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + + if (input != null) { + var weekday = parseIsoWeekday(input, this.localeData()); + return this.day(this.day() % 7 ? weekday : weekday - 7); + } else { + return this.day() || 7; + } + } + + var defaultWeekdaysRegex = matchWord; + function weekdaysRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysRegex')) { + this._weekdaysRegex = defaultWeekdaysRegex; + } + return this._weekdaysStrictRegex && isStrict ? + this._weekdaysStrictRegex : this._weekdaysRegex; + } + } + + var defaultWeekdaysShortRegex = matchWord; + function weekdaysShortRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysShortRegex')) { + this._weekdaysShortRegex = defaultWeekdaysShortRegex; + } + return this._weekdaysShortStrictRegex && isStrict ? + this._weekdaysShortStrictRegex : this._weekdaysShortRegex; + } + } + + var defaultWeekdaysMinRegex = matchWord; + function weekdaysMinRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysMinRegex')) { + this._weekdaysMinRegex = defaultWeekdaysMinRegex; + } + return this._weekdaysMinStrictRegex && isStrict ? + this._weekdaysMinStrictRegex : this._weekdaysMinRegex; + } + } + + + function computeWeekdaysParse () { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], + i, mom, minp, shortp, longp; + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, 1]).day(i); + minp = this.weekdaysMin(mom, ''); + shortp = this.weekdaysShort(mom, ''); + longp = this.weekdays(mom, ''); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + // Sorting makes sure if one weekday (or abbr) is a prefix of another it + // will match the longer piece. + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 7; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + + this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); + this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i'); + } + + // FORMATTING + + function hFormat() { + return this.hours() % 12 || 12; + } + + function kFormat() { + return this.hours() || 24; + } + + addFormatToken('H', ['HH', 2], 0, 'hour'); + addFormatToken('h', ['hh', 2], 0, hFormat); + addFormatToken('k', ['kk', 2], 0, kFormat); + + addFormatToken('hmm', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); + }); + + addFormatToken('hmmss', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); + }); + + addFormatToken('Hmm', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2); + }); + + addFormatToken('Hmmss', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); + }); + + function meridiem (token, lowercase) { + addFormatToken(token, 0, 0, function () { + return this.localeData().meridiem(this.hours(), this.minutes(), lowercase); + }); + } + + meridiem('a', true); + meridiem('A', false); + + // ALIASES + + addUnitAlias('hour', 'h'); + + // PRIORITY + addUnitPriority('hour', 13); + + // PARSING + + function matchMeridiem (isStrict, locale) { + return locale._meridiemParse; + } + + addRegexToken('a', matchMeridiem); + addRegexToken('A', matchMeridiem); + addRegexToken('H', match1to2); + addRegexToken('h', match1to2); + addRegexToken('k', match1to2); + addRegexToken('HH', match1to2, match2); + addRegexToken('hh', match1to2, match2); + addRegexToken('kk', match1to2, match2); + + addRegexToken('hmm', match3to4); + addRegexToken('hmmss', match5to6); + addRegexToken('Hmm', match3to4); + addRegexToken('Hmmss', match5to6); + + addParseToken(['H', 'HH'], HOUR); + addParseToken(['k', 'kk'], function (input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; + }); + addParseToken(['a', 'A'], function (input, array, config) { + config._isPm = config._locale.isPM(input); + config._meridiem = input; + }); + addParseToken(['h', 'hh'], function (input, array, config) { + array[HOUR] = toInt(input); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('Hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + }); + addParseToken('Hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + }); + + // LOCALES + + function localeIsPM (input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return ((input + '').toLowerCase().charAt(0) === 'p'); + } + + var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i; + function localeMeridiem (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + } + + + // MOMENTS + + // Setting the hour should keep the time, because the user explicitly + // specified which hour they want. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + var getSetHour = makeGetSet('Hours', true); + + var baseConfig = { + calendar: defaultCalendar, + longDateFormat: defaultLongDateFormat, + invalidDate: defaultInvalidDate, + ordinal: defaultOrdinal, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, + relativeTime: defaultRelativeTime, + + months: defaultLocaleMonths, + monthsShort: defaultLocaleMonthsShort, + + week: defaultLocaleWeek, + + weekdays: defaultLocaleWeekdays, + weekdaysMin: defaultLocaleWeekdaysMin, + weekdaysShort: defaultLocaleWeekdaysShort, + + meridiemParse: defaultLocaleMeridiemParse + }; + + // internal storage for locale config files + var locales = {}; + var localeFamilies = {}; + var globalLocale; + + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } + + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, j, next, locale, split; + + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return globalLocale; + } + + function loadLocale(name) { + var oldLocale = null; + // TODO: Find a better way to register and load all the locales in Node + if (!locales[name] && (typeof module !== 'undefined') && + module && module.exports) { + try { + oldLocale = globalLocale._abbr; + var aliasedRequire = require; + !(function webpackMissingModule() { var e = new Error("Cannot find module \"./locale\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()); + getSetGlobalLocale(oldLocale); + } catch (e) {} + } + return locales[name]; + } + + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + function getSetGlobalLocale (key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } + else { + data = defineLocale(key, values); + } + + if (data) { + // moment.duration._locale = moment._locale = data; + globalLocale = data; + } + else { + if ((typeof console !== 'undefined') && console.warn) { + //warn user if arguments are passed but the locale could not be set + console.warn('Locale ' + key + ' not found. Did you forget to load it?'); + } + } + } + + return globalLocale._abbr; + } + + function defineLocale (name, config) { + if (config !== null) { + var locale, parentConfig = baseConfig; + config.abbr = name; + if (locales[name] != null) { + deprecateSimple('defineLocaleOverride', + 'use moment.updateLocale(localeName, config) to change ' + + 'an existing locale. moment.defineLocale(localeName, ' + + 'config) should only be used for creating a new locale ' + + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'); + parentConfig = locales[name]._config; + } else if (config.parentLocale != null) { + if (locales[config.parentLocale] != null) { + parentConfig = locales[config.parentLocale]._config; + } else { + locale = loadLocale(config.parentLocale); + if (locale != null) { + parentConfig = locale._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name: name, + config: config + }); + return null; + } + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + + if (localeFamilies[name]) { + localeFamilies[name].forEach(function (x) { + defineLocale(x.name, x.config); + }); + } + + // backwards compat for now: also set the locale + // make sure we set the locale AFTER all child locales have been + // created, so we won't end up with the child locale set. + getSetGlobalLocale(name); + + + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; + } + } + + function updateLocale(name, config) { + if (config != null) { + var locale, tmpLocale, parentConfig = baseConfig; + // MERGE + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + locale = new Locale(config); + locale.parentLocale = locales[name]; + locales[name] = locale; + + // backwards compat for now: also set the locale + getSetGlobalLocale(name); + } else { + // pass null for config to unupdate, useful for tests + if (locales[name] != null) { + if (locales[name].parentLocale != null) { + locales[name] = locales[name].parentLocale; + } else if (locales[name] != null) { + delete locales[name]; + } + } + } + return locales[name]; + } + + // returns locale data + function getLocale (key) { + var locale; + + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + + if (!key) { + return globalLocale; + } + + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } + + return chooseLocale(key); + } + + function listLocales() { + return keys(locales); + } + + function checkOverflow (m) { + var overflow; + var a = m._a; + + if (a && getParsingFlags(m).overflow === -2) { + overflow = + a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : + a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : + a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR : + a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : + a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : + a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : + -1; + + if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { + overflow = DATE; + } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } + + getParsingFlags(m).overflow = overflow; + } + + return m; + } + + // Pick the first defined of two or three arguments. + function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; + } + + function currentDateArray(config) { + // hooks is actually the exported moment object + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()]; + } + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; + } + + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function configFromArray (config) { + var i, date, input = [], currentDate, expectedWeekday, yearToUse; + + if (config._d) { + return; + } + + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + + //if the day of the year is set, figure out what it is + if (config._dayOfYear != null) { + yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); + + if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) { + getParsingFlags(config)._overflowDayOfYear = true; + } + + date = createUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; + } + + // Check for 24:00:00.000 + if (config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0) { + config._nextDay = true; + config._a[HOUR] = 0; + } + + config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input); + expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); + + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + + if (config._nextDay) { + config._a[HOUR] = 24; + } + + // check for mismatching day of week + if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) { + getParsingFlags(config).weekdayMismatch = true; + } + } + + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; + + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year); + week = defaults(w.W, 1); + weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = true; + } + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + + var curWeek = weekOfYear(createLocal(), dow, doy); + + weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); + + // Default to current week. + week = defaults(w.w, curWeek.week); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; + } + } else if (w.e != null) { + // local weekday -- counting starts from beginning of week + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } + } else { + // default to beginning of week + weekday = dow; + } + } + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = true; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = true; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } + } + + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + + var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/; + + var isoDates = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, false], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, false], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + // YYYYMM is NOT allowed by the standard + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, false], + ['YYYYDDD', /\d{7}/] + ]; + + // iso time formats and regexes + var isoTimes = [ + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/] + ]; + + var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i; + + // date from iso format + function configFromISO(config) { + var i, l, + string = config._i, + match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), + allowTime, dateFormat, timeFormat, tzFormat; + + if (match) { + getParsingFlags(config).iso = true; + + for (i = 0, l = isoDates.length; i < l; i++) { + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== false; + break; + } + } + if (dateFormat == null) { + config._isValid = false; + return; + } + if (match[3]) { + for (i = 0, l = isoTimes.length; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + // match[2] should be 'T' or space + timeFormat = (match[2] || ' ') + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = false; + return; + } + } + if (!allowTime && timeFormat != null) { + config._isValid = false; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = 'Z'; + } else { + config._isValid = false; + return; + } + } + config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); + configFromStringAndFormat(config); + } else { + config._isValid = false; + } + } + + // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 + var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; + + function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { + var result = [ + untruncateYear(yearStr), + defaultLocaleMonthsShort.indexOf(monthStr), + parseInt(dayStr, 10), + parseInt(hourStr, 10), + parseInt(minuteStr, 10) + ]; + + if (secondStr) { + result.push(parseInt(secondStr, 10)); + } + + return result; + } + + function untruncateYear(yearStr) { + var year = parseInt(yearStr, 10); + if (year <= 49) { + return 2000 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; + } + + function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''); + } + + function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check. + var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), + weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay(); + if (weekdayProvided !== weekdayActual) { + getParsingFlags(config).weekdayMismatch = true; + config._isValid = false; + return false; + } + } + return true; + } + + var obsOffsets = { + UT: 0, + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60 + }; + + function calculateOffset(obsOffset, militaryOffset, numOffset) { + if (obsOffset) { + return obsOffsets[obsOffset]; + } else if (militaryOffset) { + // the only allowed military tz is Z + return 0; + } else { + var hm = parseInt(numOffset, 10); + var m = hm % 100, h = (hm - m) / 100; + return h * 60 + m; + } + } + + // date and time from ref 2822 format + function configFromRFC2822(config) { + var match = rfc2822.exec(preprocessRFC2822(config._i)); + if (match) { + var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]); + if (!checkWeekday(match[1], parsedArray, config)) { + return; + } + + config._a = parsedArray; + config._tzm = calculateOffset(match[8], match[9], match[10]); + + config._d = createUTCDate.apply(null, config._a); + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + + getParsingFlags(config).rfc2822 = true; + } else { + config._isValid = false; + } + } + + // date from iso format or fallback + function configFromString(config) { + var matched = aspNetJsonRegex.exec(config._i); + + if (matched !== null) { + config._d = new Date(+matched[1]); + return; + } + + configFromISO(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + configFromRFC2822(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + // Final attempt, use Input Fallback + hooks.createFromInputFallback(config); + } + + hooks.createFromInputFallback = deprecate( + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + + 'discouraged and will be removed in an upcoming major release. Please refer to ' + + 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', + function (config) { + config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); + } + ); + + // constant that refers to the ISO standard + hooks.ISO_8601 = function () {}; + + // constant that refers to the RFC 2822 form + hooks.RFC_2822 = function () {}; + + // date from string and format string + function configFromStringAndFormat(config) { + // TODO: Move this to another part of the creation flow to prevent circular deps + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = true; + + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, parsedInput, tokens, token, skipped, + stringLength = string.length, + totalParsedInputLength = 0; + + tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + + for (i = 0; i < tokens.length; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; + // console.log('token', token, 'parsedInput', parsedInput, + // 'regex', getParseRegexForToken(token, config)); + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + getParsingFlags(config).unusedInput.push(skipped); + } + string = string.slice(string.indexOf(parsedInput) + parsedInput.length); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + getParsingFlags(config).empty = false; + } + else { + getParsingFlags(config).unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } + else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token); + } + } + + // add remaining unparsed input length to the string + getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + + // clear _12h flag if hour is <= 12 + if (config._a[HOUR] <= 12 && + getParsingFlags(config).bigHour === true && + config._a[HOUR] > 0) { + getParsingFlags(config).bigHour = undefined; + } + + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + // handle meridiem + config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); + + configFromArray(config); + checkOverflow(config); + } + + + function meridiemFixWrap (locale, hour, meridiem) { + var isPm; + + if (meridiem == null) { + // nothing to do + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // this is not supposed to happen + return hour; + } + } + + // date from string and array of format strings + function configFromStringAndArray(config) { + var tempConfig, + bestMoment, + + scoreToBeat, + i, + currentScore; + + if (config._f.length === 0) { + getParsingFlags(config).invalidFormat = true; + config._d = new Date(NaN); + return; + } + + for (i = 0; i < config._f.length; i++) { + currentScore = 0; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._f = config._f[i]; + configFromStringAndFormat(tempConfig); + + if (!isValid(tempConfig)) { + continue; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += getParsingFlags(tempConfig).charsLeftOver; + + //or tokens + currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; + + getParsingFlags(tempConfig).score = currentScore; + + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + + extend(config, bestMoment || tempConfig); + } + + function configFromObject(config) { + if (config._d) { + return; + } + + var i = normalizeObjectUnits(config._i); + config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { + return obj && parseInt(obj, 10); + }); + + configFromArray(config); + } + + function createFromConfig (config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } + + return res; + } + + function prepareConfig (config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || getLocale(config._l); + + if (input === null || (format === undefined && input === '')) { + return createInvalid({nullInput: true}); + } + + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } + + if (isMoment(input)) { + return new Moment(checkOverflow(input)); + } else if (isDate(input)) { + config._d = input; + } else if (isArray(format)) { + configFromStringAndArray(config); + } else if (format) { + configFromStringAndFormat(config); + } else { + configFromInput(config); + } + + if (!isValid(config)) { + config._d = null; + } + + return config; + } + + function configFromInput(config) { + var input = config._i; + if (isUndefined(input)) { + config._d = new Date(hooks.now()); + } else if (isDate(input)) { + config._d = new Date(input.valueOf()); + } else if (typeof input === 'string') { + configFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + configFromArray(config); + } else if (isObject(input)) { + configFromObject(config); + } else if (isNumber(input)) { + // from milliseconds + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } + } + + function createLocalOrUTC (input, format, locale, strict, isUTC) { + var c = {}; + + if (locale === true || locale === false) { + strict = locale; + locale = undefined; + } + + if ((isObject(input) && isObjectEmpty(input)) || + (isArray(input) && input.length === 0)) { + input = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c._isAMomentObject = true; + c._useUTC = c._isUTC = isUTC; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + + return createFromConfig(c); + } + + function createLocal (input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, false); + } + + var prototypeMin = deprecate( + 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return createInvalid(); + } + } + ); + + var prototypeMax = deprecate( + 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return createInvalid(); + } + } + ); + + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return createLocal(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (!moments[i].isValid() || moments[i][fn](res)) { + res = moments[i]; + } + } + return res; + } + + // TODO: Use [].sort instead? + function min () { + var args = [].slice.call(arguments, 0); + + return pickBy('isBefore', args); + } + + function max () { + var args = [].slice.call(arguments, 0); + + return pickBy('isAfter', args); + } + + var now = function () { + return Date.now ? Date.now() : +(new Date()); + }; + + var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; + + function isDurationValid(m) { + for (var key in m) { + if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { + return false; + } + } + + var unitHasDecimal = false; + for (var i = 0; i < ordering.length; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; + } + + function isValid$1() { + return this._isValid; + } + + function createInvalid$1() { + return createDuration(NaN); + } + + function Duration (duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || normalizedInput.isoWeek || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + this._isValid = isDurationValid(normalizedInput); + + // representation for dateAddRemove + this._milliseconds = +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + + weeks * 7; + // It is impossible to translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + + quarters * 3 + + years * 12; + + this._data = {}; + + this._locale = getLocale(); + + this._bubble(); + } + + function isDuration (obj) { + return obj instanceof Duration; + } + + function absRound (number) { + if (number < 0) { + return Math.round(-1 * number) * -1; + } else { + return Math.round(number); + } + } + + // FORMATTING + + function offset (token, separator) { + addFormatToken(token, 0, 0, function () { + var offset = this.utcOffset(); + var sign = '+'; + if (offset < 0) { + offset = -offset; + sign = '-'; + } + return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2); + }); + } + + offset('Z', ':'); + offset('ZZ', ''); + + // PARSING + + addRegexToken('Z', matchShortOffset); + addRegexToken('ZZ', matchShortOffset); + addParseToken(['Z', 'ZZ'], function (input, array, config) { + config._useUTC = true; + config._tzm = offsetFromString(matchShortOffset, input); + }); + + // HELPERS + + // timezone chunker + // '+10:00' > ['10', '00'] + // '-1530' > ['-15', '30'] + var chunkOffset = /([\+\-]|\d\d)/gi; + + function offsetFromString(matcher, string) { + var matches = (string || '').match(matcher); + + if (matches === null) { + return null; + } + + var chunk = matches[matches.length - 1] || []; + var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; + var minutes = +(parts[1] * 60) + toInt(parts[2]); + + return minutes === 0 ? + 0 : + parts[0] === '+' ? minutes : -minutes; + } + + // Return a moment from input, that is local/utc/zone equivalent to model. + function cloneWithOffset(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); + // Use low-level api, because this fn is low-level api. + res._d.setTime(res._d.valueOf() + diff); + hooks.updateOffset(res, false); + return res; + } else { + return createLocal(input).local(); + } + } + + function getDateOffset (m) { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return -Math.round(m._d.getTimezoneOffset() / 15) * 15; + } + + // HOOKS + + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + hooks.updateOffset = function () {}; + + // MOMENTS + + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + function getSetOffset (input, keepLocalTime, keepMinutes) { + var offset = this._offset || 0, + localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + if (typeof input === 'string') { + input = offsetFromString(matchShortOffset, input); + if (input === null) { + return this; + } + } else if (Math.abs(input) < 16 && !keepMinutes) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = getDateOffset(this); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract(this, createDuration(input - offset, 'm'), 1, false); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + hooks.updateOffset(this, true); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset : getDateOffset(this); + } + } + + function getSetZone (input, keepLocalTime) { + if (input != null) { + if (typeof input !== 'string') { + input = -input; + } + + this.utcOffset(input, keepLocalTime); + + return this; + } else { + return -this.utcOffset(); + } + } + + function setOffsetToUTC (keepLocalTime) { + return this.utcOffset(0, keepLocalTime); + } + + function setOffsetToLocal (keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.subtract(getDateOffset(this), 'm'); + } + } + return this; + } + + function setOffsetToParsedOffset () { + if (this._tzm != null) { + this.utcOffset(this._tzm, false, true); + } else if (typeof this._i === 'string') { + var tZone = offsetFromString(matchOffset, this._i); + if (tZone != null) { + this.utcOffset(tZone); + } + else { + this.utcOffset(0, true); + } + } + return this; + } + + function hasAlignedHourOffset (input) { + if (!this.isValid()) { + return false; + } + input = input ? createLocal(input).utcOffset() : 0; + + return (this.utcOffset() - input) % 60 === 0; + } + + function isDaylightSavingTime () { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); + } + + function isDaylightSavingTimeShifted () { + if (!isUndefined(this._isDSTShifted)) { + return this._isDSTShifted; + } + + var c = {}; + + copyConfig(c, this); + c = prepareConfig(c); + + if (c._a) { + var other = c._isUTC ? createUTC(c._a) : createLocal(c._a); + this._isDSTShifted = this.isValid() && + compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = false; + } + + return this._isDSTShifted; + } + + function isLocal () { + return this.isValid() ? !this._isUTC : false; + } + + function isUtcOffset () { + return this.isValid() ? this._isUTC : false; + } + + function isUtc () { + return this.isValid() ? this._isUTC && this._offset === 0 : false; + } + + // ASP.NET json date format regex + var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/; + + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + // and further modified to allow for strings containing both week and day + var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + + function createDuration (input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + diffRes; + + if (isDuration(input)) { + duration = { + ms : input._milliseconds, + d : input._days, + M : input._months + }; + } else if (isNumber(input)) { + duration = {}; + if (key) { + duration[key] = input; + } else { + duration.milliseconds = input; + } + } else if (!!(match = aspNetRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y : 0, + d : toInt(match[DATE]) * sign, + h : toInt(match[HOUR]) * sign, + m : toInt(match[MINUTE]) * sign, + s : toInt(match[SECOND]) * sign, + ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match + }; + } else if (!!(match = isoRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y : parseIso(match[2], sign), + M : parseIso(match[3], sign), + w : parseIso(match[4], sign), + d : parseIso(match[5], sign), + h : parseIso(match[6], sign), + m : parseIso(match[7], sign), + s : parseIso(match[8], sign) + }; + } else if (duration == null) {// checks for null or undefined + duration = {}; + } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) { + diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to)); + + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + + ret = new Duration(duration); + + if (isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } + + return ret; + } + + createDuration.fn = Duration.prototype; + createDuration.invalid = createInvalid$1; + + function parseIso (inp, sign) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + } + + function positiveMomentsDifference(base, other) { + var res = {}; + + res.months = other.month() - base.month() + + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } + + res.milliseconds = +other - +(base.clone().add(res.months, 'M')); + + return res; + } + + function momentsDifference(base, other) { + var res; + if (!(base.isValid() && other.isValid())) { + return {milliseconds: 0, months: 0}; + } + + other = cloneWithOffset(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + + return res; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'); + tmp = val; val = period; period = tmp; + } + + val = typeof val === 'string' ? +val : val; + dur = createDuration(val, period); + addSubtract(this, dur, direction); + return this; + }; + } + + function addSubtract (mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = absRound(duration._days), + months = absRound(duration._months); + + if (!mom.isValid()) { + // No op + return; + } + + updateOffset = updateOffset == null ? true : updateOffset; + + if (months) { + setMonth(mom, get(mom, 'Month') + months * isAdding); + } + if (days) { + set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); + } + if (milliseconds) { + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days || months); + } + } + + var add = createAdder(1, 'add'); + var subtract = createAdder(-1, 'subtract'); + + function getCalendarFormat(myMoment, now) { + var diff = myMoment.diff(now, 'days', true); + return diff < -6 ? 'sameElse' : + diff < -1 ? 'lastWeek' : + diff < 0 ? 'lastDay' : + diff < 1 ? 'sameDay' : + diff < 2 ? 'nextDay' : + diff < 7 ? 'nextWeek' : 'sameElse'; + } + + function calendar$1 (time, formats) { + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're local/utc/offset or not. + var now = time || createLocal(), + sod = cloneWithOffset(now, this).startOf('day'), + format = hooks.calendarFormat(this, sod) || 'sameElse'; + + var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]); + + return this.format(output || this.localeData().calendar(format, this, createLocal(now))); + } + + function clone () { + return new Moment(this); + } + + function isAfter (input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() > localInput.valueOf(); + } else { + return localInput.valueOf() < this.clone().startOf(units).valueOf(); + } + } + + function isBefore (input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() < localInput.valueOf(); + } else { + return this.clone().endOf(units).valueOf() < localInput.valueOf(); + } + } + + function isBetween (from, to, units, inclusivity) { + var localFrom = isMoment(from) ? from : createLocal(from), + localTo = isMoment(to) ? to : createLocal(to); + if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { + return false; + } + inclusivity = inclusivity || '()'; + return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && + (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units)); + } + + function isSame (input, units) { + var localInput = isMoment(input) ? input : createLocal(input), + inputMs; + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() === localInput.valueOf(); + } else { + inputMs = localInput.valueOf(); + return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf(); + } + } + + function isSameOrAfter (input, units) { + return this.isSame(input, units) || this.isAfter(input, units); + } + + function isSameOrBefore (input, units) { + return this.isSame(input, units) || this.isBefore(input, units); + } + + function diff (input, units, asFloat) { + var that, + zoneDelta, + output; + + if (!this.isValid()) { + return NaN; + } + + that = cloneWithOffset(input, this); + + if (!that.isValid()) { + return NaN; + } + + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + + units = normalizeUnits(units); + + switch (units) { + case 'year': output = monthDiff(this, that) / 12; break; + case 'month': output = monthDiff(this, that); break; + case 'quarter': output = monthDiff(this, that) / 3; break; + case 'second': output = (this - that) / 1e3; break; // 1000 + case 'minute': output = (this - that) / 6e4; break; // 1000 * 60 + case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60 + case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst + case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst + default: output = this - that; + } + + return asFloat ? output : absFloor(output); + } + + function monthDiff (a, b) { + // difference in months + var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, adjust; + + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); + } + + //check for negative zero, return zero if negative zero + return -(wholeMonthDiff + adjust) || 0; + } + + hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; + hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; + + function toString () { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + } + + function toISOString(keepOffset) { + if (!this.isValid()) { + return null; + } + var utc = keepOffset !== true; + var m = utc ? this.clone().utc() : this; + if (m.year() < 0 || m.year() > 9999) { + return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'); + } + if (isFunction(Date.prototype.toISOString)) { + // native implementation is ~50x faster, use it when we can + if (utc) { + return this.toDate().toISOString(); + } else { + return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z')); + } + } + return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'); + } + + /** + * Return a human readable representation of a moment that can + * also be evaluated to get a new moment which is the same + * + * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects + */ + function inspect () { + if (!this.isValid()) { + return 'moment.invalid(/* ' + this._i + ' */)'; + } + var func = 'moment'; + var zone = ''; + if (!this.isLocal()) { + func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; + zone = 'Z'; + } + var prefix = '[' + func + '("]'; + var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY'; + var datetime = '-MM-DD[T]HH:mm:ss.SSS'; + var suffix = zone + '[")]'; + + return this.format(prefix + year + datetime + suffix); + } + + function format (inputString) { + if (!inputString) { + inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat; + } + var output = formatMoment(this, inputString); + return this.localeData().postformat(output); + } + + function from (time, withoutSuffix) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + createLocal(time).isValid())) { + return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function fromNow (withoutSuffix) { + return this.from(createLocal(), withoutSuffix); + } + + function to (time, withoutSuffix) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + createLocal(time).isValid())) { + return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function toNow (withoutSuffix) { + return this.to(createLocal(), withoutSuffix); + } + + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + function locale (key) { + var newLocaleData; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = getLocale(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + } + + var lang = deprecate( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ); + + function localeData () { + return this._locale; + } + + var MS_PER_SECOND = 1000; + var MS_PER_MINUTE = 60 * MS_PER_SECOND; + var MS_PER_HOUR = 60 * MS_PER_MINUTE; + var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; + + // actual modulo - handles negative numbers (for dates before 1970): + function mod$1(dividend, divisor) { + return (dividend % divisor + divisor) % divisor; + } + + function localStartOfDate(y, m, d) { + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return new Date(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return new Date(y, m, d).valueOf(); + } + } + + function utcStartOfDate(y, m, d) { + // Date.UTC remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return Date.UTC(y, m, d); + } + } + + function startOf (units) { + var time; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year(), 0, 1); + break; + case 'quarter': + time = startOfDate(this.year(), this.month() - this.month() % 3, 1); + break; + case 'month': + time = startOfDate(this.year(), this.month(), 1); + break; + case 'week': + time = startOfDate(this.year(), this.month(), this.date() - this.weekday()); + break; + case 'isoWeek': + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date()); + break; + case 'hour': + time = this._d.valueOf(); + time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR); + break; + case 'minute': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_MINUTE); + break; + case 'second': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_SECOND); + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function endOf (units) { + var time; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year() + 1, 0, 1) - 1; + break; + case 'quarter': + time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; + break; + case 'month': + time = startOfDate(this.year(), this.month() + 1, 1) - 1; + break; + case 'week': + time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; + break; + case 'isoWeek': + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; + break; + case 'hour': + time = this._d.valueOf(); + time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1; + break; + case 'minute': + time = this._d.valueOf(); + time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; + break; + case 'second': + time = this._d.valueOf(); + time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function valueOf () { + return this._d.valueOf() - ((this._offset || 0) * 60000); + } + + function unix () { + return Math.floor(this.valueOf() / 1000); + } + + function toDate () { + return new Date(this.valueOf()); + } + + function toArray () { + var m = this; + return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; + } + + function toObject () { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds() + }; + } + + function toJSON () { + // new Date(NaN).toJSON() === null + return this.isValid() ? this.toISOString() : null; + } + + function isValid$2 () { + return isValid(this); + } + + function parsingFlags () { + return extend({}, getParsingFlags(this)); + } + + function invalidAt () { + return getParsingFlags(this).overflow; + } + + function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict + }; + } + + // FORMATTING + + addFormatToken(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; + }); + + addFormatToken(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; + }); + + function addWeekYearFormatToken (token, getter) { + addFormatToken(0, [token, token.length], 0, getter); + } + + addWeekYearFormatToken('gggg', 'weekYear'); + addWeekYearFormatToken('ggggg', 'weekYear'); + addWeekYearFormatToken('GGGG', 'isoWeekYear'); + addWeekYearFormatToken('GGGGG', 'isoWeekYear'); + + // ALIASES + + addUnitAlias('weekYear', 'gg'); + addUnitAlias('isoWeekYear', 'GG'); + + // PRIORITY + + addUnitPriority('weekYear', 1); + addUnitPriority('isoWeekYear', 1); + + + // PARSING + + addRegexToken('G', matchSigned); + addRegexToken('g', matchSigned); + addRegexToken('GG', match1to2, match2); + addRegexToken('gg', match1to2, match2); + addRegexToken('GGGG', match1to4, match4); + addRegexToken('gggg', match1to4, match4); + addRegexToken('GGGGG', match1to6, match6); + addRegexToken('ggggg', match1to6, match6); + + addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) { + week[token.substr(0, 2)] = toInt(input); + }); + + addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { + week[token] = hooks.parseTwoDigitYear(input); + }); + + // MOMENTS + + function getSetWeekYear (input) { + return getSetWeekYearHelper.call(this, + input, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy); + } + + function getSetISOWeekYear (input) { + return getSetWeekYearHelper.call(this, + input, this.isoWeek(), this.isoWeekday(), 1, 4); + } + + function getISOWeeksInYear () { + return weeksInYear(this.year(), 1, 4); + } + + function getWeeksInYear () { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + } + + function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } + } + + function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), + date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); + + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; + } + + // FORMATTING + + addFormatToken('Q', 0, 'Qo', 'quarter'); + + // ALIASES + + addUnitAlias('quarter', 'Q'); + + // PRIORITY + + addUnitPriority('quarter', 7); + + // PARSING + + addRegexToken('Q', match1); + addParseToken('Q', function (input, array) { + array[MONTH] = (toInt(input) - 1) * 3; + }); + + // MOMENTS + + function getSetQuarter (input) { + return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); + } + + // FORMATTING + + addFormatToken('D', ['DD', 2], 'Do', 'date'); + + // ALIASES + + addUnitAlias('date', 'D'); + + // PRIORITY + addUnitPriority('date', 9); + + // PARSING + + addRegexToken('D', match1to2); + addRegexToken('DD', match1to2, match2); + addRegexToken('Do', function (isStrict, locale) { + // TODO: Remove "ordinalParse" fallback in next major release. + return isStrict ? + (locale._dayOfMonthOrdinalParse || locale._ordinalParse) : + locale._dayOfMonthOrdinalParseLenient; + }); + + addParseToken(['D', 'DD'], DATE); + addParseToken('Do', function (input, array) { + array[DATE] = toInt(input.match(match1to2)[0]); + }); + + // MOMENTS + + var getSetDayOfMonth = makeGetSet('Date', true); + + // FORMATTING + + addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); + + // ALIASES + + addUnitAlias('dayOfYear', 'DDD'); + + // PRIORITY + addUnitPriority('dayOfYear', 4); + + // PARSING + + addRegexToken('DDD', match1to3); + addRegexToken('DDDD', match3); + addParseToken(['DDD', 'DDDD'], function (input, array, config) { + config._dayOfYear = toInt(input); + }); + + // HELPERS + + // MOMENTS + + function getSetDayOfYear (input) { + var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; + return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); + } + + // FORMATTING + + addFormatToken('m', ['mm', 2], 0, 'minute'); + + // ALIASES + + addUnitAlias('minute', 'm'); + + // PRIORITY + + addUnitPriority('minute', 14); + + // PARSING + + addRegexToken('m', match1to2); + addRegexToken('mm', match1to2, match2); + addParseToken(['m', 'mm'], MINUTE); + + // MOMENTS + + var getSetMinute = makeGetSet('Minutes', false); + + // FORMATTING + + addFormatToken('s', ['ss', 2], 0, 'second'); + + // ALIASES + + addUnitAlias('second', 's'); + + // PRIORITY + + addUnitPriority('second', 15); + + // PARSING + + addRegexToken('s', match1to2); + addRegexToken('ss', match1to2, match2); + addParseToken(['s', 'ss'], SECOND); + + // MOMENTS + + var getSetSecond = makeGetSet('Seconds', false); + + // FORMATTING + + addFormatToken('S', 0, 0, function () { + return ~~(this.millisecond() / 100); + }); + + addFormatToken(0, ['SS', 2], 0, function () { + return ~~(this.millisecond() / 10); + }); + + addFormatToken(0, ['SSS', 3], 0, 'millisecond'); + addFormatToken(0, ['SSSS', 4], 0, function () { + return this.millisecond() * 10; + }); + addFormatToken(0, ['SSSSS', 5], 0, function () { + return this.millisecond() * 100; + }); + addFormatToken(0, ['SSSSSS', 6], 0, function () { + return this.millisecond() * 1000; + }); + addFormatToken(0, ['SSSSSSS', 7], 0, function () { + return this.millisecond() * 10000; + }); + addFormatToken(0, ['SSSSSSSS', 8], 0, function () { + return this.millisecond() * 100000; + }); + addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { + return this.millisecond() * 1000000; + }); + + + // ALIASES + + addUnitAlias('millisecond', 'ms'); + + // PRIORITY + + addUnitPriority('millisecond', 16); + + // PARSING + + addRegexToken('S', match1to3, match1); + addRegexToken('SS', match1to3, match2); + addRegexToken('SSS', match1to3, match3); + + var token; + for (token = 'SSSS'; token.length <= 9; token += 'S') { + addRegexToken(token, matchUnsigned); + } + + function parseMs(input, array) { + array[MILLISECOND] = toInt(('0.' + input) * 1000); + } + + for (token = 'S'; token.length <= 9; token += 'S') { + addParseToken(token, parseMs); + } + // MOMENTS + + var getSetMillisecond = makeGetSet('Milliseconds', false); + + // FORMATTING + + addFormatToken('z', 0, 0, 'zoneAbbr'); + addFormatToken('zz', 0, 0, 'zoneName'); + + // MOMENTS + + function getZoneAbbr () { + return this._isUTC ? 'UTC' : ''; + } + + function getZoneName () { + return this._isUTC ? 'Coordinated Universal Time' : ''; + } + + var proto = Moment.prototype; + + proto.add = add; + proto.calendar = calendar$1; + proto.clone = clone; + proto.diff = diff; + proto.endOf = endOf; + proto.format = format; + proto.from = from; + proto.fromNow = fromNow; + proto.to = to; + proto.toNow = toNow; + proto.get = stringGet; + proto.invalidAt = invalidAt; + proto.isAfter = isAfter; + proto.isBefore = isBefore; + proto.isBetween = isBetween; + proto.isSame = isSame; + proto.isSameOrAfter = isSameOrAfter; + proto.isSameOrBefore = isSameOrBefore; + proto.isValid = isValid$2; + proto.lang = lang; + proto.locale = locale; + proto.localeData = localeData; + proto.max = prototypeMax; + proto.min = prototypeMin; + proto.parsingFlags = parsingFlags; + proto.set = stringSet; + proto.startOf = startOf; + proto.subtract = subtract; + proto.toArray = toArray; + proto.toObject = toObject; + proto.toDate = toDate; + proto.toISOString = toISOString; + proto.inspect = inspect; + proto.toJSON = toJSON; + proto.toString = toString; + proto.unix = unix; + proto.valueOf = valueOf; + proto.creationData = creationData; + proto.year = getSetYear; + proto.isLeapYear = getIsLeapYear; + proto.weekYear = getSetWeekYear; + proto.isoWeekYear = getSetISOWeekYear; + proto.quarter = proto.quarters = getSetQuarter; + proto.month = getSetMonth; + proto.daysInMonth = getDaysInMonth; + proto.week = proto.weeks = getSetWeek; + proto.isoWeek = proto.isoWeeks = getSetISOWeek; + proto.weeksInYear = getWeeksInYear; + proto.isoWeeksInYear = getISOWeeksInYear; + proto.date = getSetDayOfMonth; + proto.day = proto.days = getSetDayOfWeek; + proto.weekday = getSetLocaleDayOfWeek; + proto.isoWeekday = getSetISODayOfWeek; + proto.dayOfYear = getSetDayOfYear; + proto.hour = proto.hours = getSetHour; + proto.minute = proto.minutes = getSetMinute; + proto.second = proto.seconds = getSetSecond; + proto.millisecond = proto.milliseconds = getSetMillisecond; + proto.utcOffset = getSetOffset; + proto.utc = setOffsetToUTC; + proto.local = setOffsetToLocal; + proto.parseZone = setOffsetToParsedOffset; + proto.hasAlignedHourOffset = hasAlignedHourOffset; + proto.isDST = isDaylightSavingTime; + proto.isLocal = isLocal; + proto.isUtcOffset = isUtcOffset; + proto.isUtc = isUtc; + proto.isUTC = isUtc; + proto.zoneAbbr = getZoneAbbr; + proto.zoneName = getZoneName; + proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth); + proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth); + proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear); + proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone); + proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted); + + function createUnix (input) { + return createLocal(input * 1000); + } + + function createInZone () { + return createLocal.apply(null, arguments).parseZone(); + } + + function preParsePostFormat (string) { + return string; + } + + var proto$1 = Locale.prototype; + + proto$1.calendar = calendar; + proto$1.longDateFormat = longDateFormat; + proto$1.invalidDate = invalidDate; + proto$1.ordinal = ordinal; + proto$1.preparse = preParsePostFormat; + proto$1.postformat = preParsePostFormat; + proto$1.relativeTime = relativeTime; + proto$1.pastFuture = pastFuture; + proto$1.set = set; + + proto$1.months = localeMonths; + proto$1.monthsShort = localeMonthsShort; + proto$1.monthsParse = localeMonthsParse; + proto$1.monthsRegex = monthsRegex; + proto$1.monthsShortRegex = monthsShortRegex; + proto$1.week = localeWeek; + proto$1.firstDayOfYear = localeFirstDayOfYear; + proto$1.firstDayOfWeek = localeFirstDayOfWeek; + + proto$1.weekdays = localeWeekdays; + proto$1.weekdaysMin = localeWeekdaysMin; + proto$1.weekdaysShort = localeWeekdaysShort; + proto$1.weekdaysParse = localeWeekdaysParse; + + proto$1.weekdaysRegex = weekdaysRegex; + proto$1.weekdaysShortRegex = weekdaysShortRegex; + proto$1.weekdaysMinRegex = weekdaysMinRegex; + + proto$1.isPM = localeIsPM; + proto$1.meridiem = localeMeridiem; + + function get$1 (format, index, field, setter) { + var locale = getLocale(); + var utc = createUTC().set(setter, index); + return locale[field](utc, format); + } + + function listMonthsImpl (format, index, field) { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + + if (index != null) { + return get$1(format, index, field, 'month'); + } + + var i; + var out = []; + for (i = 0; i < 12; i++) { + out[i] = get$1(format, i, field, 'month'); + } + return out; + } + + // () + // (5) + // (fmt, 5) + // (fmt) + // (true) + // (true, 5) + // (true, fmt, 5) + // (true, fmt) + function listWeekdaysImpl (localeSorted, format, index, field) { + if (typeof localeSorted === 'boolean') { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } else { + format = localeSorted; + index = format; + localeSorted = false; + + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } + + var locale = getLocale(), + shift = localeSorted ? locale._week.dow : 0; + + if (index != null) { + return get$1(format, (index + shift) % 7, field, 'day'); + } + + var i; + var out = []; + for (i = 0; i < 7; i++) { + out[i] = get$1(format, (i + shift) % 7, field, 'day'); + } + return out; + } + + function listMonths (format, index) { + return listMonthsImpl(format, index, 'months'); + } + + function listMonthsShort (format, index) { + return listMonthsImpl(format, index, 'monthsShort'); + } + + function listWeekdays (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); + } + + function listWeekdaysShort (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); + } + + function listWeekdaysMin (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); + } + + getSetGlobalLocale('en', { + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal : function (number) { + var b = number % 10, + output = (toInt(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + // Side effect imports + + hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale); + hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale); + + var mathAbs = Math.abs; + + function abs () { + var data = this._data; + + this._milliseconds = mathAbs(this._milliseconds); + this._days = mathAbs(this._days); + this._months = mathAbs(this._months); + + data.milliseconds = mathAbs(data.milliseconds); + data.seconds = mathAbs(data.seconds); + data.minutes = mathAbs(data.minutes); + data.hours = mathAbs(data.hours); + data.months = mathAbs(data.months); + data.years = mathAbs(data.years); + + return this; + } + + function addSubtract$1 (duration, input, value, direction) { + var other = createDuration(input, value); + + duration._milliseconds += direction * other._milliseconds; + duration._days += direction * other._days; + duration._months += direction * other._months; + + return duration._bubble(); + } + + // supports only 2.0-style add(1, 's') or add(duration) + function add$1 (input, value) { + return addSubtract$1(this, input, value, 1); + } + + // supports only 2.0-style subtract(1, 's') or subtract(duration) + function subtract$1 (input, value) { + return addSubtract$1(this, input, value, -1); + } + + function absCeil (number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } + } + + function bubble () { + var milliseconds = this._milliseconds; + var days = this._days; + var months = this._months; + var data = this._data; + var seconds, minutes, hours, years, monthsFromDays; + + // if we have a mix of positive and negative values, bubble down first + // check: https://github.com/moment/moment/issues/2166 + if (!((milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0))) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absFloor(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absFloor(seconds / 60); + data.minutes = minutes % 60; + + hours = absFloor(minutes / 60); + data.hours = hours % 24; + + days += absFloor(hours / 24); + + // convert days to months + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + + return this; + } + + function daysToMonths (days) { + // 400 years have 146097 days (taking into account leap year rules) + // 400 years have 12 months === 4800 + return days * 4800 / 146097; + } + + function monthsToDays (months) { + // the reverse of daysToMonths + return months * 146097 / 4800; + } + + function as (units) { + if (!this.isValid()) { + return NaN; + } + var days; + var months; + var milliseconds = this._milliseconds; + + units = normalizeUnits(units); + + if (units === 'month' || units === 'quarter' || units === 'year') { + days = this._days + milliseconds / 864e5; + months = this._months + daysToMonths(days); + switch (units) { + case 'month': return months; + case 'quarter': return months / 3; + case 'year': return months / 12; + } + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case 'week' : return days / 7 + milliseconds / 6048e5; + case 'day' : return days + milliseconds / 864e5; + case 'hour' : return days * 24 + milliseconds / 36e5; + case 'minute' : return days * 1440 + milliseconds / 6e4; + case 'second' : return days * 86400 + milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': return Math.floor(days * 864e5) + milliseconds; + default: throw new Error('Unknown unit ' + units); + } + } + } + + // TODO: Use this.as('ms')? + function valueOf$1 () { + if (!this.isValid()) { + return NaN; + } + return ( + this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6 + ); + } + + function makeAs (alias) { + return function () { + return this.as(alias); + }; + } + + var asMilliseconds = makeAs('ms'); + var asSeconds = makeAs('s'); + var asMinutes = makeAs('m'); + var asHours = makeAs('h'); + var asDays = makeAs('d'); + var asWeeks = makeAs('w'); + var asMonths = makeAs('M'); + var asQuarters = makeAs('Q'); + var asYears = makeAs('y'); + + function clone$1 () { + return createDuration(this); + } + + function get$2 (units) { + units = normalizeUnits(units); + return this.isValid() ? this[units + 's']() : NaN; + } + + function makeGetter(name) { + return function () { + return this.isValid() ? this._data[name] : NaN; + }; + } + + var milliseconds = makeGetter('milliseconds'); + var seconds = makeGetter('seconds'); + var minutes = makeGetter('minutes'); + var hours = makeGetter('hours'); + var days = makeGetter('days'); + var months = makeGetter('months'); + var years = makeGetter('years'); + + function weeks () { + return absFloor(this.days() / 7); + } + + var round = Math.round; + var thresholds = { + ss: 44, // a few seconds to seconds + s : 45, // seconds to minute + m : 45, // minutes to hour + h : 22, // hours to day + d : 26, // days to month + M : 11 // months to year + }; + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime$1 (posNegDuration, withoutSuffix, locale) { + var duration = createDuration(posNegDuration).abs(); + var seconds = round(duration.as('s')); + var minutes = round(duration.as('m')); + var hours = round(duration.as('h')); + var days = round(duration.as('d')); + var months = round(duration.as('M')); + var years = round(duration.as('y')); + + var a = seconds <= thresholds.ss && ['s', seconds] || + seconds < thresholds.s && ['ss', seconds] || + minutes <= 1 && ['m'] || + minutes < thresholds.m && ['mm', minutes] || + hours <= 1 && ['h'] || + hours < thresholds.h && ['hh', hours] || + days <= 1 && ['d'] || + days < thresholds.d && ['dd', days] || + months <= 1 && ['M'] || + months < thresholds.M && ['MM', months] || + years <= 1 && ['y'] || ['yy', years]; + + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale; + return substituteTimeAgo.apply(null, a); + } + + // This function allows you to set the rounding function for relative time strings + function getSetRelativeTimeRounding (roundingFunction) { + if (roundingFunction === undefined) { + return round; + } + if (typeof(roundingFunction) === 'function') { + round = roundingFunction; + return true; + } + return false; + } + + // This function allows you to set a threshold for relative time strings + function getSetRelativeTimeThreshold (threshold, limit) { + if (thresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + return thresholds[threshold]; + } + thresholds[threshold] = limit; + if (threshold === 's') { + thresholds.ss = limit - 1; + } + return true; + } + + function humanize (withSuffix) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var locale = this.localeData(); + var output = relativeTime$1(this, !withSuffix, locale); + + if (withSuffix) { + output = locale.pastFuture(+this, output); + } + + return locale.postformat(output); + } + + var abs$1 = Math.abs; + + function sign(x) { + return ((x > 0) - (x < 0)) || +x; + } + + function toISOString$1() { + // for ISO strings we do not use the normal bubbling rules: + // * milliseconds bubble up until they become hours + // * days do not bubble at all + // * months bubble up until they become years + // This is because there is no context-free conversion between hours and days + // (think of clock changes) + // and also not between days and months (28-31 days per month) + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var seconds = abs$1(this._milliseconds) / 1000; + var days = abs$1(this._days); + var months = abs$1(this._months); + var minutes, hours, years; + + // 3600 seconds -> 60 minutes -> 1 hour + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + var Y = years; + var M = months; + var D = days; + var h = hours; + var m = minutes; + var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; + var total = this.asSeconds(); + + if (!total) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + var totalSign = total < 0 ? '-' : ''; + var ymSign = sign(this._months) !== sign(total) ? '-' : ''; + var daysSign = sign(this._days) !== sign(total) ? '-' : ''; + var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; + + return totalSign + 'P' + + (Y ? ymSign + Y + 'Y' : '') + + (M ? ymSign + M + 'M' : '') + + (D ? daysSign + D + 'D' : '') + + ((h || m || s) ? 'T' : '') + + (h ? hmsSign + h + 'H' : '') + + (m ? hmsSign + m + 'M' : '') + + (s ? hmsSign + s + 'S' : ''); + } + + var proto$2 = Duration.prototype; + + proto$2.isValid = isValid$1; + proto$2.abs = abs; + proto$2.add = add$1; + proto$2.subtract = subtract$1; + proto$2.as = as; + proto$2.asMilliseconds = asMilliseconds; + proto$2.asSeconds = asSeconds; + proto$2.asMinutes = asMinutes; + proto$2.asHours = asHours; + proto$2.asDays = asDays; + proto$2.asWeeks = asWeeks; + proto$2.asMonths = asMonths; + proto$2.asQuarters = asQuarters; + proto$2.asYears = asYears; + proto$2.valueOf = valueOf$1; + proto$2._bubble = bubble; + proto$2.clone = clone$1; + proto$2.get = get$2; + proto$2.milliseconds = milliseconds; + proto$2.seconds = seconds; + proto$2.minutes = minutes; + proto$2.hours = hours; + proto$2.days = days; + proto$2.weeks = weeks; + proto$2.months = months; + proto$2.years = years; + proto$2.humanize = humanize; + proto$2.toISOString = toISOString$1; + proto$2.toString = toISOString$1; + proto$2.toJSON = toISOString$1; + proto$2.locale = locale; + proto$2.localeData = localeData; + + proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1); + proto$2.lang = lang; + + // Side effect imports + + // FORMATTING + + addFormatToken('X', 0, 0, 'unix'); + addFormatToken('x', 0, 0, 'valueOf'); + + // PARSING + + addRegexToken('x', matchSigned); + addRegexToken('X', matchTimestamp); + addParseToken('X', function (input, array, config) { + config._d = new Date(parseFloat(input, 10) * 1000); + }); + addParseToken('x', function (input, array, config) { + config._d = new Date(toInt(input)); + }); + + // Side effect imports + + + hooks.version = '2.24.0'; + + setHookCallback(createLocal); + + hooks.fn = proto; + hooks.min = min; + hooks.max = max; + hooks.now = now; + hooks.utc = createUTC; + hooks.unix = createUnix; + hooks.months = listMonths; + hooks.isDate = isDate; + hooks.locale = getSetGlobalLocale; + hooks.invalid = createInvalid; + hooks.duration = createDuration; + hooks.isMoment = isMoment; + hooks.weekdays = listWeekdays; + hooks.parseZone = createInZone; + hooks.localeData = getLocale; + hooks.isDuration = isDuration; + hooks.monthsShort = listMonthsShort; + hooks.weekdaysMin = listWeekdaysMin; + hooks.defineLocale = defineLocale; + hooks.updateLocale = updateLocale; + hooks.locales = listLocales; + hooks.weekdaysShort = listWeekdaysShort; + hooks.normalizeUnits = normalizeUnits; + hooks.relativeTimeRounding = getSetRelativeTimeRounding; + hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; + hooks.calendarFormat = getCalendarFormat; + hooks.prototype = proto; + + // currently HTML5 input type only supports 24-hour formats + hooks.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // + DATE: 'YYYY-MM-DD', // + TIME: 'HH:mm', // + TIME_SECONDS: 'HH:mm:ss', // + TIME_MS: 'HH:mm:ss.SSS', // + WEEK: 'GGGG-[W]WW', // + MONTH: 'YYYY-MM' // + }; + + return hooks; + +}))); + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(322)(module))) + +/***/ }), +/* 87 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +__webpack_require__(28); + +__webpack_require__(656); +//# sourceMappingURL=css.js.map + + +/***/ }), +/* 88 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.create = exports.connect = exports.Provider = undefined; + +var _Provider2 = __webpack_require__(736); + +var _Provider3 = _interopRequireDefault(_Provider2); + +var _connect2 = __webpack_require__(737); + +var _connect3 = _interopRequireDefault(_connect2); + +var _create2 = __webpack_require__(739); + +var _create3 = _interopRequireDefault(_create2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.Provider = _Provider3.default; +exports.connect = _connect3.default; +exports.create = _create3.default; + +/***/ }), +/* 89 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(10); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(11); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_dom__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rc_util_es_Dom_contains__ = __webpack_require__(276); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_addEventListener__ = __webpack_require__(277); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_rc_util_es_ContainerRender__ = __webpack_require__(681); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_rc_util_es_Portal__ = __webpack_require__(682); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_classnames__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__utils__ = __webpack_require__(278); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__Popup__ = __webpack_require__(683); + + + + + + + + + + + + + + + + +function noop() {} + +function returnEmptyString() { + return ''; +} + +function returnDocument() { + return window.document; +} + +var ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu']; + +var IS_REACT_16 = !!__WEBPACK_IMPORTED_MODULE_6_react_dom__["createPortal"]; + +var contextTypes = { + rcTrigger: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.shape({ + onPopupMouseDown: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func + }) +}; + +var Trigger = function (_React$Component) { + __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Trigger, _React$Component); + + function Trigger(props) { + __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Trigger); + + var _this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call(this, props)); + + _initialiseProps.call(_this); + + var popupVisible = void 0; + if ('popupVisible' in props) { + popupVisible = !!props.popupVisible; + } else { + popupVisible = !!props.defaultPopupVisible; + } + + _this.prevPopupVisible = popupVisible; + + _this.state = { + popupVisible: popupVisible + }; + return _this; + } + + Trigger.prototype.getChildContext = function getChildContext() { + return { + rcTrigger: { + onPopupMouseDown: this.onPopupMouseDown + } + }; + }; + + Trigger.prototype.componentWillMount = function componentWillMount() { + var _this2 = this; + + ALL_HANDLERS.forEach(function (h) { + _this2['fire' + h] = function (e) { + _this2.fireEvents(h, e); + }; + }); + }; + + Trigger.prototype.componentDidMount = function componentDidMount() { + this.componentDidUpdate({}, { + popupVisible: this.state.popupVisible + }); + }; + + Trigger.prototype.componentWillReceiveProps = function componentWillReceiveProps(_ref) { + var popupVisible = _ref.popupVisible; + + if (popupVisible !== undefined) { + this.setState({ + popupVisible: popupVisible + }); + } + }; + + Trigger.prototype.componentDidUpdate = function componentDidUpdate(_, prevState) { + var props = this.props; + var state = this.state; + var triggerAfterPopupVisibleChange = function triggerAfterPopupVisibleChange() { + if (prevState.popupVisible !== state.popupVisible) { + props.afterPopupVisibleChange(state.popupVisible); + } + }; + if (!IS_REACT_16) { + this.renderComponent(null, triggerAfterPopupVisibleChange); + } + + this.prevPopupVisible = prevState.popupVisible; + + // We must listen to `mousedown` or `touchstart`, edge case: + // https://github.com/ant-design/ant-design/issues/5804 + // https://github.com/react-component/calendar/issues/250 + // https://github.com/react-component/trigger/issues/50 + if (state.popupVisible) { + var currentDocument = void 0; + if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) { + currentDocument = props.getDocument(); + this.clickOutsideHandler = Object(__WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_addEventListener__["a" /* default */])(currentDocument, 'mousedown', this.onDocumentClick); + } + // always hide on mobile + if (!this.touchOutsideHandler) { + currentDocument = currentDocument || props.getDocument(); + this.touchOutsideHandler = Object(__WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_addEventListener__["a" /* default */])(currentDocument, 'touchstart', this.onDocumentClick); + } + // close popup when trigger type contains 'onContextMenu' and document is scrolling. + if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) { + currentDocument = currentDocument || props.getDocument(); + this.contextMenuOutsideHandler1 = Object(__WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_addEventListener__["a" /* default */])(currentDocument, 'scroll', this.onContextMenuClose); + } + // close popup when trigger type contains 'onContextMenu' and window is blur. + if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) { + this.contextMenuOutsideHandler2 = Object(__WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_addEventListener__["a" /* default */])(window, 'blur', this.onContextMenuClose); + } + return; + } + + this.clearOutsideHandler(); + }; + + Trigger.prototype.componentWillUnmount = function componentWillUnmount() { + this.clearDelayTimer(); + this.clearOutsideHandler(); + clearTimeout(this.mouseDownTimeout); + }; + + Trigger.prototype.getPopupDomNode = function getPopupDomNode() { + // for test + if (this._component && this._component.getPopupDomNode) { + return this._component.getPopupDomNode(); + } + return null; + }; + + Trigger.prototype.getPopupAlign = function getPopupAlign() { + var props = this.props; + var popupPlacement = props.popupPlacement, + popupAlign = props.popupAlign, + builtinPlacements = props.builtinPlacements; + + if (popupPlacement && builtinPlacements) { + return Object(__WEBPACK_IMPORTED_MODULE_12__utils__["a" /* getAlignFromPlacement */])(builtinPlacements, popupPlacement, popupAlign); + } + return popupAlign; + }; + + /** + * @param popupVisible Show or not the popup element + * @param event SyntheticEvent, used for `pointAlign` + */ + Trigger.prototype.setPopupVisible = function setPopupVisible(popupVisible, event) { + var alignPoint = this.props.alignPoint; + + + this.clearDelayTimer(); + + if (this.state.popupVisible !== popupVisible) { + if (!('popupVisible' in this.props)) { + this.setState({ popupVisible: popupVisible }); + } + this.props.onPopupVisibleChange(popupVisible); + } + + // Always record the point position since mouseEnterDelay will delay the show + if (alignPoint && event) { + this.setPoint(event); + } + }; + + Trigger.prototype.delaySetPopupVisible = function delaySetPopupVisible(visible, delayS, event) { + var _this3 = this; + + var delay = delayS * 1000; + this.clearDelayTimer(); + if (delay) { + var point = event ? { pageX: event.pageX, pageY: event.pageY } : null; + this.delayTimer = setTimeout(function () { + _this3.setPopupVisible(visible, point); + _this3.clearDelayTimer(); + }, delay); + } else { + this.setPopupVisible(visible, event); + } + }; + + Trigger.prototype.clearDelayTimer = function clearDelayTimer() { + if (this.delayTimer) { + clearTimeout(this.delayTimer); + this.delayTimer = null; + } + }; + + Trigger.prototype.clearOutsideHandler = function clearOutsideHandler() { + if (this.clickOutsideHandler) { + this.clickOutsideHandler.remove(); + this.clickOutsideHandler = null; + } + + if (this.contextMenuOutsideHandler1) { + this.contextMenuOutsideHandler1.remove(); + this.contextMenuOutsideHandler1 = null; + } + + if (this.contextMenuOutsideHandler2) { + this.contextMenuOutsideHandler2.remove(); + this.contextMenuOutsideHandler2 = null; + } + + if (this.touchOutsideHandler) { + this.touchOutsideHandler.remove(); + this.touchOutsideHandler = null; + } + }; + + Trigger.prototype.createTwoChains = function createTwoChains(event) { + var childPros = this.props.children.props; + var props = this.props; + if (childPros[event] && props[event]) { + return this['fire' + event]; + } + return childPros[event] || props[event]; + }; + + Trigger.prototype.isClickToShow = function isClickToShow() { + var _props = this.props, + action = _props.action, + showAction = _props.showAction; + + return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1; + }; + + Trigger.prototype.isContextMenuToShow = function isContextMenuToShow() { + var _props2 = this.props, + action = _props2.action, + showAction = _props2.showAction; + + return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1; + }; + + Trigger.prototype.isClickToHide = function isClickToHide() { + var _props3 = this.props, + action = _props3.action, + hideAction = _props3.hideAction; + + return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1; + }; + + Trigger.prototype.isMouseEnterToShow = function isMouseEnterToShow() { + var _props4 = this.props, + action = _props4.action, + showAction = _props4.showAction; + + return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1; + }; + + Trigger.prototype.isMouseLeaveToHide = function isMouseLeaveToHide() { + var _props5 = this.props, + action = _props5.action, + hideAction = _props5.hideAction; + + return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1; + }; + + Trigger.prototype.isFocusToShow = function isFocusToShow() { + var _props6 = this.props, + action = _props6.action, + showAction = _props6.showAction; + + return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1; + }; + + Trigger.prototype.isBlurToHide = function isBlurToHide() { + var _props7 = this.props, + action = _props7.action, + hideAction = _props7.hideAction; + + return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1; + }; + + Trigger.prototype.forcePopupAlign = function forcePopupAlign() { + if (this.state.popupVisible && this._component && this._component.alignInstance) { + this._component.alignInstance.forceAlign(); + } + }; + + Trigger.prototype.fireEvents = function fireEvents(type, e) { + var childCallback = this.props.children.props[type]; + if (childCallback) { + childCallback(e); + } + var callback = this.props[type]; + if (callback) { + callback(e); + } + }; + + Trigger.prototype.close = function close() { + this.setPopupVisible(false); + }; + + Trigger.prototype.render = function render() { + var _this4 = this; + + var popupVisible = this.state.popupVisible; + var _props8 = this.props, + children = _props8.children, + forceRender = _props8.forceRender, + alignPoint = _props8.alignPoint, + className = _props8.className; + + var child = __WEBPACK_IMPORTED_MODULE_4_react___default.a.Children.only(children); + var newChildProps = { key: 'trigger' }; + + if (this.isContextMenuToShow()) { + newChildProps.onContextMenu = this.onContextMenu; + } else { + newChildProps.onContextMenu = this.createTwoChains('onContextMenu'); + } + + if (this.isClickToHide() || this.isClickToShow()) { + newChildProps.onClick = this.onClick; + newChildProps.onMouseDown = this.onMouseDown; + newChildProps.onTouchStart = this.onTouchStart; + } else { + newChildProps.onClick = this.createTwoChains('onClick'); + newChildProps.onMouseDown = this.createTwoChains('onMouseDown'); + newChildProps.onTouchStart = this.createTwoChains('onTouchStart'); + } + if (this.isMouseEnterToShow()) { + newChildProps.onMouseEnter = this.onMouseEnter; + if (alignPoint) { + newChildProps.onMouseMove = this.onMouseMove; + } + } else { + newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter'); + } + if (this.isMouseLeaveToHide()) { + newChildProps.onMouseLeave = this.onMouseLeave; + } else { + newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave'); + } + if (this.isFocusToShow() || this.isBlurToHide()) { + newChildProps.onFocus = this.onFocus; + newChildProps.onBlur = this.onBlur; + } else { + newChildProps.onFocus = this.createTwoChains('onFocus'); + newChildProps.onBlur = this.createTwoChains('onBlur'); + } + + var childrenClassName = __WEBPACK_IMPORTED_MODULE_11_classnames___default()(child && child.props && child.props.className, className); + if (childrenClassName) { + newChildProps.className = childrenClassName; + } + var trigger = __WEBPACK_IMPORTED_MODULE_4_react___default.a.cloneElement(child, newChildProps); + + if (!IS_REACT_16) { + return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement( + __WEBPACK_IMPORTED_MODULE_9_rc_util_es_ContainerRender__["a" /* default */], + { + parent: this, + visible: popupVisible, + autoMount: false, + forceRender: forceRender, + getComponent: this.getComponent, + getContainer: this.getContainer + }, + function (_ref2) { + var renderComponent = _ref2.renderComponent; + + _this4.renderComponent = renderComponent; + return trigger; + } + ); + } + + var portal = void 0; + // prevent unmounting after it's rendered + if (popupVisible || this._component || forceRender) { + portal = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement( + __WEBPACK_IMPORTED_MODULE_10_rc_util_es_Portal__["a" /* default */], + { + key: 'portal', + getContainer: this.getContainer, + didUpdate: this.handlePortalUpdate + }, + this.getComponent() + ); + } + + return [trigger, portal]; + }; + + return Trigger; +}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.Component); + +Trigger.propTypes = { + children: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any, + action: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string)]), + showAction: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any, + hideAction: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any, + getPopupClassNameFromAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any, + onPopupVisibleChange: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func, + afterPopupVisibleChange: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func, + popup: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func]).isRequired, + popupStyle: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object, + prefixCls: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, + popupClassName: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, + className: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, + popupPlacement: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, + builtinPlacements: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object, + popupTransitionName: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object]), + popupAnimation: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any, + mouseEnterDelay: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number, + mouseLeaveDelay: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number, + zIndex: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number, + focusDelay: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number, + blurDelay: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number, + getPopupContainer: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func, + getDocument: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func, + forceRender: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool, + destroyPopupOnHide: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool, + mask: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool, + maskClosable: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool, + onPopupAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func, + popupAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object, + popupVisible: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool, + defaultPopupVisible: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool, + maskTransitionName: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object]), + maskAnimation: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, + stretch: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string, + alignPoint: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool // Maybe we can support user pass position in the future +}; +Trigger.contextTypes = contextTypes; +Trigger.childContextTypes = contextTypes; +Trigger.defaultProps = { + prefixCls: 'rc-trigger-popup', + getPopupClassNameFromAlign: returnEmptyString, + getDocument: returnDocument, + onPopupVisibleChange: noop, + afterPopupVisibleChange: noop, + onPopupAlign: noop, + popupClassName: '', + mouseEnterDelay: 0, + mouseLeaveDelay: 0.1, + focusDelay: 0, + blurDelay: 0.15, + popupStyle: {}, + destroyPopupOnHide: false, + popupAlign: {}, + defaultPopupVisible: false, + mask: false, + maskClosable: true, + action: [], + showAction: [], + hideAction: [] +}; + +var _initialiseProps = function _initialiseProps() { + var _this5 = this; + + this.onMouseEnter = function (e) { + var mouseEnterDelay = _this5.props.mouseEnterDelay; + + _this5.fireEvents('onMouseEnter', e); + _this5.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e); + }; + + this.onMouseMove = function (e) { + _this5.fireEvents('onMouseMove', e); + _this5.setPoint(e); + }; + + this.onMouseLeave = function (e) { + _this5.fireEvents('onMouseLeave', e); + _this5.delaySetPopupVisible(false, _this5.props.mouseLeaveDelay); + }; + + this.onPopupMouseEnter = function () { + _this5.clearDelayTimer(); + }; + + this.onPopupMouseLeave = function (e) { + // https://github.com/react-component/trigger/pull/13 + // react bug? + if (e.relatedTarget && !e.relatedTarget.setTimeout && _this5._component && _this5._component.getPopupDomNode && Object(__WEBPACK_IMPORTED_MODULE_7_rc_util_es_Dom_contains__["a" /* default */])(_this5._component.getPopupDomNode(), e.relatedTarget)) { + return; + } + _this5.delaySetPopupVisible(false, _this5.props.mouseLeaveDelay); + }; + + this.onFocus = function (e) { + _this5.fireEvents('onFocus', e); + // incase focusin and focusout + _this5.clearDelayTimer(); + if (_this5.isFocusToShow()) { + _this5.focusTime = Date.now(); + _this5.delaySetPopupVisible(true, _this5.props.focusDelay); + } + }; + + this.onMouseDown = function (e) { + _this5.fireEvents('onMouseDown', e); + _this5.preClickTime = Date.now(); + }; + + this.onTouchStart = function (e) { + _this5.fireEvents('onTouchStart', e); + _this5.preTouchTime = Date.now(); + }; + + this.onBlur = function (e) { + _this5.fireEvents('onBlur', e); + _this5.clearDelayTimer(); + if (_this5.isBlurToHide()) { + _this5.delaySetPopupVisible(false, _this5.props.blurDelay); + } + }; + + this.onContextMenu = function (e) { + e.preventDefault(); + _this5.fireEvents('onContextMenu', e); + _this5.setPopupVisible(true, e); + }; + + this.onContextMenuClose = function () { + if (_this5.isContextMenuToShow()) { + _this5.close(); + } + }; + + this.onClick = function (event) { + _this5.fireEvents('onClick', event); + // focus will trigger click + if (_this5.focusTime) { + var preTime = void 0; + if (_this5.preClickTime && _this5.preTouchTime) { + preTime = Math.min(_this5.preClickTime, _this5.preTouchTime); + } else if (_this5.preClickTime) { + preTime = _this5.preClickTime; + } else if (_this5.preTouchTime) { + preTime = _this5.preTouchTime; + } + if (Math.abs(preTime - _this5.focusTime) < 20) { + return; + } + _this5.focusTime = 0; + } + _this5.preClickTime = 0; + _this5.preTouchTime = 0; + if (event && event.preventDefault) { + event.preventDefault(); + } + var nextVisible = !_this5.state.popupVisible; + if (_this5.isClickToHide() && !nextVisible || nextVisible && _this5.isClickToShow()) { + _this5.setPopupVisible(!_this5.state.popupVisible, event); + } + }; + + this.onPopupMouseDown = function () { + var _context$rcTrigger = _this5.context.rcTrigger, + rcTrigger = _context$rcTrigger === undefined ? {} : _context$rcTrigger; + + _this5.hasPopupMouseDown = true; + + clearTimeout(_this5.mouseDownTimeout); + _this5.mouseDownTimeout = setTimeout(function () { + _this5.hasPopupMouseDown = false; + }, 0); + + if (rcTrigger.onPopupMouseDown) { + rcTrigger.onPopupMouseDown.apply(rcTrigger, arguments); + } + }; + + this.onDocumentClick = function (event) { + if (_this5.props.mask && !_this5.props.maskClosable) { + return; + } + + var target = event.target; + var root = Object(__WEBPACK_IMPORTED_MODULE_6_react_dom__["findDOMNode"])(_this5); + if (!Object(__WEBPACK_IMPORTED_MODULE_7_rc_util_es_Dom_contains__["a" /* default */])(root, target) && !_this5.hasPopupMouseDown) { + _this5.close(); + } + }; + + this.getRootDomNode = function () { + return Object(__WEBPACK_IMPORTED_MODULE_6_react_dom__["findDOMNode"])(_this5); + }; + + this.getPopupClassNameFromAlign = function (align) { + var className = []; + var _props9 = _this5.props, + popupPlacement = _props9.popupPlacement, + builtinPlacements = _props9.builtinPlacements, + prefixCls = _props9.prefixCls, + alignPoint = _props9.alignPoint, + getPopupClassNameFromAlign = _props9.getPopupClassNameFromAlign; + + if (popupPlacement && builtinPlacements) { + className.push(Object(__WEBPACK_IMPORTED_MODULE_12__utils__["b" /* getAlignPopupClassName */])(builtinPlacements, prefixCls, align, alignPoint)); + } + if (getPopupClassNameFromAlign) { + className.push(getPopupClassNameFromAlign(align)); + } + return className.join(' '); + }; + + this.getComponent = function () { + var _props10 = _this5.props, + prefixCls = _props10.prefixCls, + destroyPopupOnHide = _props10.destroyPopupOnHide, + popupClassName = _props10.popupClassName, + action = _props10.action, + onPopupAlign = _props10.onPopupAlign, + popupAnimation = _props10.popupAnimation, + popupTransitionName = _props10.popupTransitionName, + popupStyle = _props10.popupStyle, + mask = _props10.mask, + maskAnimation = _props10.maskAnimation, + maskTransitionName = _props10.maskTransitionName, + zIndex = _props10.zIndex, + popup = _props10.popup, + stretch = _props10.stretch, + alignPoint = _props10.alignPoint; + var _state = _this5.state, + popupVisible = _state.popupVisible, + point = _state.point; + + + var align = _this5.getPopupAlign(); + + var mouseProps = {}; + if (_this5.isMouseEnterToShow()) { + mouseProps.onMouseEnter = _this5.onPopupMouseEnter; + } + if (_this5.isMouseLeaveToHide()) { + mouseProps.onMouseLeave = _this5.onPopupMouseLeave; + } + + mouseProps.onMouseDown = _this5.onPopupMouseDown; + mouseProps.onTouchStart = _this5.onPopupMouseDown; + + return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement( + __WEBPACK_IMPORTED_MODULE_13__Popup__["a" /* default */], + __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({ + prefixCls: prefixCls, + destroyPopupOnHide: destroyPopupOnHide, + visible: popupVisible, + point: alignPoint && point, + className: popupClassName, + action: action, + align: align, + onAlign: onPopupAlign, + animation: popupAnimation, + getClassNameFromAlign: _this5.getPopupClassNameFromAlign + }, mouseProps, { + stretch: stretch, + getRootDomNode: _this5.getRootDomNode, + style: popupStyle, + mask: mask, + zIndex: zIndex, + transitionName: popupTransitionName, + maskAnimation: maskAnimation, + maskTransitionName: maskTransitionName, + ref: _this5.savePopup + }), + typeof popup === 'function' ? popup() : popup + ); + }; + + this.getContainer = function () { + var props = _this5.props; + + var popupContainer = document.createElement('div'); + // Make sure default popup container will never cause scrollbar appearing + // https://github.com/react-component/trigger/issues/41 + popupContainer.style.position = 'absolute'; + popupContainer.style.top = '0'; + popupContainer.style.left = '0'; + popupContainer.style.width = '100%'; + var mountNode = props.getPopupContainer ? props.getPopupContainer(Object(__WEBPACK_IMPORTED_MODULE_6_react_dom__["findDOMNode"])(_this5)) : props.getDocument().body; + mountNode.appendChild(popupContainer); + return popupContainer; + }; + + this.setPoint = function (point) { + var alignPoint = _this5.props.alignPoint; + + if (!alignPoint || !point) return; + + _this5.setState({ + point: { + pageX: point.pageX, + pageY: point.pageY + } + }); + }; + + this.handlePortalUpdate = function () { + if (_this5.prevPopupVisible !== _this5.state.popupVisible) { + _this5.props.afterPopupVisibleChange(_this5.state.popupVisible); + } + }; + + this.savePopup = function (node) { + _this5._component = node; + }; +}; + +/* harmony default export */ __webpack_exports__["default"] = (Trigger); + +/***/ }), +/* 90 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {var now = __webpack_require__(336) + , root = typeof window === 'undefined' ? global : window + , vendors = ['moz', 'webkit'] + , suffix = 'AnimationFrame' + , raf = root['request' + suffix] + , caf = root['cancel' + suffix] || root['cancelRequest' + suffix] + +for(var i = 0; !raf && i < vendors.length; i++) { + raf = root[vendors[i] + 'Request' + suffix] + caf = root[vendors[i] + 'Cancel' + suffix] + || root[vendors[i] + 'CancelRequest' + suffix] +} + +// Some versions of FF have rAF but not cAF +if(!raf || !caf) { + var last = 0 + , id = 0 + , queue = [] + , frameDuration = 1000 / 60 + + raf = function(callback) { + if(queue.length === 0) { + var _now = now() + , next = Math.max(0, frameDuration - (_now - last)) + last = next + _now + setTimeout(function() { + var cp = queue.slice(0) + // Clear queue here to prevent + // callbacks from appending listeners + // to the current frame's queue + queue.length = 0 + for(var i = 0; i < cp.length; i++) { + if(!cp[i].cancelled) { + try{ + cp[i].callback(last) + } catch(e) { + setTimeout(function() { throw e }, 0) + } + } + } + }, Math.round(next)) + } + queue.push({ + handle: ++id, + callback: callback, + cancelled: false + }) + return id + } + + caf = function(handle) { + for(var i = 0; i < queue.length; i++) { + if(queue[i].handle === handle) { + queue[i].cancelled = true + } + } + } +} + +module.exports = function(fn) { + // Wrap in a new function to prevent + // `cancel` potentially being assigned + // to the native rAF function + return raf.call(root, fn) +} +module.exports.cancel = function() { + caf.apply(root, arguments) +} +module.exports.polyfill = function(object) { + if (!object) { + object = root; + } + object.requestAnimationFrame = raf + object.cancelAnimationFrame = caf +} + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(34))) + +/***/ }), +/* 91 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var _classCallCheck = _interopDefault(__webpack_require__(615)); +var _createClass = _interopDefault(__webpack_require__(616)); +var _possibleConstructorReturn = _interopDefault(__webpack_require__(617)); +var _inherits = _interopDefault(__webpack_require__(619)); +var _typeof = _interopDefault(__webpack_require__(270)); +var _objectWithoutProperties = _interopDefault(__webpack_require__(620)); +var _objectSpread = _interopDefault(__webpack_require__(621)); +var React = _interopDefault(__webpack_require__(0)); +var PropTypes = _interopDefault(__webpack_require__(1)); +var shallowEqual = _interopDefault(__webpack_require__(367)); +var warning = _interopDefault(__webpack_require__(13)); + +function defineProperty(object, property, attr) { + return Object.defineProperty(object, property, attr); +} // Passive options +// Inspired by https://github.com/Modernizr/Modernizr/blob/master/feature-detects/dom/passiveeventlisteners.js + + +var passiveOption = function () { + var cache = null; + return function () { + if (cache !== null) { + return cache; + } + + var supportsPassiveOption = false; + + try { + window.addEventListener('test', null, defineProperty({}, 'passive', { + get: function get() { + supportsPassiveOption = true; + } + })); + } catch (err) {// + } + + cache = supportsPassiveOption; + return supportsPassiveOption; + }(); +}(); + +var defaultEventOptions = { + capture: false, + passive: false +}; + +function mergeDefaultEventOptions(options) { + return _objectSpread({}, defaultEventOptions, options); +} + +function getEventListenerArgs(eventName, callback, options) { + var args = [eventName, callback]; + args.push(passiveOption ? options : options.capture); + return args; +} + +function on(target, eventName, callback, options) { + // eslint-disable-next-line prefer-spread + target.addEventListener.apply(target, getEventListenerArgs(eventName, callback, options)); +} + +function off(target, eventName, callback, options) { + // eslint-disable-next-line prefer-spread + target.removeEventListener.apply(target, getEventListenerArgs(eventName, callback, options)); +} + +function forEachListener(props, iteratee) { + var children = props.children, + target = props.target, + eventProps = _objectWithoutProperties(props, ["children", "target"]); + + Object.keys(eventProps).forEach(function (name) { + if (name.substring(0, 2) !== 'on') { + return; + } + + var prop = eventProps[name]; + + var type = _typeof(prop); + + var isObject = type === 'object'; + var isFunction = type === 'function'; + + if (!isObject && !isFunction) { + return; + } + + var capture = name.substr(-7).toLowerCase() === 'capture'; + var eventName = name.substring(2).toLowerCase(); + eventName = capture ? eventName.substring(0, eventName.length - 7) : eventName; + + if (isObject) { + iteratee(eventName, prop.handler, prop.options); + } else { + iteratee(eventName, prop, mergeDefaultEventOptions({ + capture: capture + })); + } + }); +} + +function withOptions(handler, options) { + false ? warning(options, 'react-event-listener: should be specified options in withOptions.') : void 0; + return { + handler: handler, + options: mergeDefaultEventOptions(options) + }; +} + +var EventListener = +/*#__PURE__*/ +function (_React$Component) { + _inherits(EventListener, _React$Component); + + function EventListener() { + _classCallCheck(this, EventListener); + + return _possibleConstructorReturn(this, (EventListener.__proto__ || Object.getPrototypeOf(EventListener)).apply(this, arguments)); + } + + _createClass(EventListener, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.addListeners(); + } + }, { + key: "shouldComponentUpdate", + value: function shouldComponentUpdate(nextProps) { + return !shallowEqual(this.props, nextProps); + } + }, { + key: "componentWillUpdate", + value: function componentWillUpdate() { + this.removeListeners(); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + this.addListeners(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.removeListeners(); + } + }, { + key: "addListeners", + value: function addListeners() { + this.applyListeners(on); + } + }, { + key: "removeListeners", + value: function removeListeners() { + this.applyListeners(off); + } + }, { + key: "applyListeners", + value: function applyListeners(onOrOff) { + var target = this.props.target; + + if (target) { + var element = target; + + if (typeof target === 'string') { + element = window[target]; + } + + forEachListener(this.props, onOrOff.bind(null, element)); + } + } + }, { + key: "render", + value: function render() { + return this.props.children || null; + } + }]); + + return EventListener; +}(React.Component); + +EventListener.propTypes = false ? { + /** + * You can provide a single child too. + */ + children: PropTypes.node, + + /** + * The DOM target to listen to. + */ + target: PropTypes.oneOfType([PropTypes.object, PropTypes.string]).isRequired +} : {}; + +exports.withOptions = withOptions; +exports.default = EventListener; + + +/***/ }), +/* 92 */ +/***/ (function(module, exports) { + +exports.f = {}.propertyIsEnumerable; + + +/***/ }), +/* 93 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $at = __webpack_require__(470)(true); + +// 21.1.3.27 String.prototype[@@iterator]() +__webpack_require__(141)(String, 'String', function (iterated) { + this._t = String(iterated); // target + this._i = 0; // next index +// 21.1.5.2.1 %StringIteratorPrototype%.next() +}, function () { + var O = this._t; + var index = this._i; + var point; + if (index >= O.length) return { value: undefined, done: true }; + point = $at(O, index); + this._i += point.length; + return { value: point, done: false }; +}); + + +/***/ }), +/* 94 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _interopRequireDefault = __webpack_require__(2); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _extends2 = _interopRequireDefault(__webpack_require__(8)); + +var _getPrototypeOf = _interopRequireDefault(__webpack_require__(21)); + +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(16)); + +var _createClass2 = _interopRequireDefault(__webpack_require__(17)); + +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22)); + +var _inherits2 = _interopRequireDefault(__webpack_require__(23)); + +var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(24)); + +var _react = _interopRequireDefault(__webpack_require__(0)); + +var _hoistNonReactStatics = _interopRequireDefault(__webpack_require__(149)); + +var _wrapDisplayName = _interopRequireDefault(__webpack_require__(119)); + +var _createMuiTheme = _interopRequireDefault(__webpack_require__(153)); + +var _themeListener = _interopRequireDefault(__webpack_require__(154)); + +var defaultTheme; + +function getDefaultTheme() { + if (defaultTheme) { + return defaultTheme; + } + + defaultTheme = (0, _createMuiTheme.default)(); + return defaultTheme; +} // Provide the theme object as a property to the input component. + + +var withTheme = function withTheme() { + return function (Component) { + var WithTheme = + /*#__PURE__*/ + function (_React$Component) { + (0, _inherits2.default)(WithTheme, _React$Component); + + function WithTheme(props, context) { + var _this; + + (0, _classCallCheck2.default)(this, WithTheme); + _this = (0, _possibleConstructorReturn2.default)(this, (WithTheme.__proto__ || (0, _getPrototypeOf.default)(WithTheme)).call(this, props, context)); + Object.defineProperty((0, _assertThisInitialized2.default)(_this), "state", { + configurable: true, + enumerable: true, + writable: true, + value: {} + }); + Object.defineProperty((0, _assertThisInitialized2.default)(_this), "unsubscribeId", { + configurable: true, + enumerable: true, + writable: true, + value: null + }); + _this.state = { + // We use || as the function call is lazy evaluated. + theme: _themeListener.default.initial(context) || getDefaultTheme() + }; + return _this; + } + + (0, _createClass2.default)(WithTheme, [{ + key: "componentDidMount", + value: function componentDidMount() { + var _this2 = this; + + this.unsubscribeId = _themeListener.default.subscribe(this.context, function (theme) { + _this2.setState({ + theme: theme + }); + }); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this.unsubscribeId !== null) { + _themeListener.default.unsubscribe(this.context, this.unsubscribeId); + } + } + }, { + key: "render", + value: function render() { + return _react.default.createElement(Component, (0, _extends2.default)({ + theme: this.state.theme + }, this.props)); + } + }]); + return WithTheme; + }(_react.default.Component); + + WithTheme.contextTypes = _themeListener.default.contextTypes; + + if (false) { + WithTheme.displayName = (0, _wrapDisplayName.default)(Component, 'WithTheme'); + } + + (0, _hoistNonReactStatics.default)(WithTheme, Component); + + if (false) { + // Exposed for test purposes. + WithTheme.Naked = Component; + } + + return WithTheme; + }; +}; + +var _default = withTheme; +exports.default = _default; + +/***/ }), +/* 95 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(62); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant__ = __webpack_require__(47); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__); +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + + + + + + +/** + * The public API for putting history on context. + */ + +var Router = function (_React$Component) { + _inherits(Router, _React$Component); + + function Router() { + var _temp, _this, _ret; + + _classCallCheck(this, Router); + + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = { + match: _this.computeMatch(_this.props.history.location.pathname) + }, _temp), _possibleConstructorReturn(_this, _ret); + } + + Router.prototype.getChildContext = function getChildContext() { + return { + router: _extends({}, this.context.router, { + history: this.props.history, + route: { + location: this.props.history.location, + match: this.state.match + } + }) + }; + }; + + Router.prototype.computeMatch = function computeMatch(pathname) { + return { + path: "/", + url: "/", + params: {}, + isExact: pathname === "/" + }; + }; + + Router.prototype.componentWillMount = function componentWillMount() { + var _this2 = this; + + var _props = this.props, + children = _props.children, + history = _props.history; + + + __WEBPACK_IMPORTED_MODULE_1_invariant___default()(children == null || __WEBPACK_IMPORTED_MODULE_2_react___default.a.Children.count(children) === 1, "A may have only one child element"); + + // Do this here so we can setState when a changes the + // location in componentWillMount. This happens e.g. when doing + // server rendering using a . + this.unlisten = history.listen(function () { + _this2.setState({ + match: _this2.computeMatch(history.location.pathname) + }); + }); + }; + + Router.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { + __WEBPACK_IMPORTED_MODULE_0_warning___default()(this.props.history === nextProps.history, "You cannot change "); + }; + + Router.prototype.componentWillUnmount = function componentWillUnmount() { + this.unlisten(); + }; + + Router.prototype.render = function render() { + var children = this.props.children; + + return children ? __WEBPACK_IMPORTED_MODULE_2_react___default.a.Children.only(children) : null; + }; + + return Router; +}(__WEBPACK_IMPORTED_MODULE_2_react___default.a.Component); + +Router.propTypes = { + history: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object.isRequired, + children: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.node +}; +Router.contextTypes = { + router: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object +}; +Router.childContextTypes = { + router: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object.isRequired +}; + + +/* harmony default export */ __webpack_exports__["a"] = (Router); + +/***/ }), +/* 96 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_path_to_regexp__ = __webpack_require__(217); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_path_to_regexp___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_path_to_regexp__); + + +var patternCache = {}; +var cacheLimit = 10000; +var cacheCount = 0; + +var compilePath = function compilePath(pattern, options) { + var cacheKey = "" + options.end + options.strict + options.sensitive; + var cache = patternCache[cacheKey] || (patternCache[cacheKey] = {}); + + if (cache[pattern]) return cache[pattern]; + + var keys = []; + var re = __WEBPACK_IMPORTED_MODULE_0_path_to_regexp___default()(pattern, keys, options); + var compiledPattern = { re: re, keys: keys }; + + if (cacheCount < cacheLimit) { + cache[pattern] = compiledPattern; + cacheCount++; + } + + return compiledPattern; +}; + +/** + * Public API for matching a URL pathname to a path pattern. + */ +var matchPath = function matchPath(pathname) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var parent = arguments[2]; + + if (typeof options === "string") options = { path: options }; + + var _options = options, + path = _options.path, + _options$exact = _options.exact, + exact = _options$exact === undefined ? false : _options$exact, + _options$strict = _options.strict, + strict = _options$strict === undefined ? false : _options$strict, + _options$sensitive = _options.sensitive, + sensitive = _options$sensitive === undefined ? false : _options$sensitive; + + + if (path == null) return parent; + + var _compilePath = compilePath(path, { end: exact, strict: strict, sensitive: sensitive }), + re = _compilePath.re, + keys = _compilePath.keys; + + var match = re.exec(pathname); + + if (!match) return null; + + var url = match[0], + values = match.slice(1); + + var isExact = pathname === url; + + if (exact && !isExact) return null; + + return { + path: path, // the path pattern used to match + url: path === "/" && url === "" ? "/" : url, // the matched portion of the URL + isExact: isExact, // whether or not we matched exactly + params: keys.reduce(function (memo, key, index) { + memo[key.name] = values[index]; + return memo; + }, {}) + }; +}; + +/* harmony default export */ __webpack_exports__["a"] = (matchPath); + +/***/ }), +/* 97 */ +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.15 ToLength +var toInteger = __webpack_require__(136); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; + + +/***/ }), +/* 98 */ +/***/ (function(module, exports) { + +module.exports = true; + + +/***/ }), +/* 99 */ +/***/ (function(module, exports) { + +var id = 0; +var px = Math.random(); +module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); +}; + + +/***/ }), +/* 100 */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +var anObject = __webpack_require__(53); +var dPs = __webpack_require__(472); +var enumBugKeys = __webpack_require__(139); +var IE_PROTO = __webpack_require__(137)('IE_PROTO'); +var Empty = function () { /* empty */ }; +var PROTOTYPE = 'prototype'; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = __webpack_require__(233)('iframe'); + var i = enumBugKeys.length; + var lt = '<'; + var gt = '>'; + var iframeDocument; + iframe.style.display = 'none'; + __webpack_require__(473).appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; + return createDict(); +}; + +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : dPs(result, Properties); +}; + + +/***/ }), +/* 101 */ +/***/ (function(module, exports, __webpack_require__) { + +var def = __webpack_require__(36).f; +var has = __webpack_require__(57); +var TAG = __webpack_require__(29)('toStringTag'); + +module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); +}; + + +/***/ }), +/* 102 */ +/***/ (function(module, exports, __webpack_require__) { + +var ctx = __webpack_require__(55); +var call = __webpack_require__(253); +var isArrayIter = __webpack_require__(254); +var anObject = __webpack_require__(53); +var toLength = __webpack_require__(97); +var getIterFn = __webpack_require__(201); +var BREAK = {}; +var RETURN = {}; +var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); + var f = ctx(fn, that, entries ? 2 : 1); + var index = 0; + var length, step, iterator, result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); + // fast case for arrays with default iterator + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { + result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { + result = call(iterator, f, step.value, entries); + if (result === BREAK || result === RETURN) return result; + } +}; +exports.BREAK = BREAK; +exports.RETURN = RETURN; + + +/***/ }), +/* 103 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports['default'] = toCssValue; +var join = function join(value, by) { + var result = ''; + for (var i = 0; i < value.length; i++) { + // Remove !important from the value, it will be readded later. + if (value[i] === '!important') break; + if (result) result += by; + result += value[i]; + } + return result; +}; + +/** + * Converts array values to string. + * + * `margin: [['5px', '10px']]` > `margin: 5px 10px;` + * `border: ['1px', '2px']` > `border: 1px, 2px;` + * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;` + * `color: ['red', !important]` > `color: red !important;` + */ +function toCssValue(value) { + var ignoreImportant = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (!Array.isArray(value)) return value; + + var cssValue = ''; + + // Support space separated values via `[['5px', '10px']]`. + if (Array.isArray(value[0])) { + for (var i = 0; i < value.length; i++) { + if (value[i] === '!important') break; + if (cssValue) cssValue += ', '; + cssValue += join(value[i], ' '); + } + } else cssValue = join(value, ', '); + + // Add !important, because it was ignored. + if (!ignoreImportant && value[value.length - 1] === '!important') { + cssValue += ' !important'; + } + + return cssValue; +} + +/***/ }), +/* 104 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports['default'] = createRule; + +var _warning = __webpack_require__(13); + +var _warning2 = _interopRequireDefault(_warning); + +var _StyleRule = __webpack_require__(65); + +var _StyleRule2 = _interopRequireDefault(_StyleRule); + +var _cloneStyle = __webpack_require__(535); + +var _cloneStyle2 = _interopRequireDefault(_cloneStyle); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +/** + * Create a rule instance. + */ +function createRule() { + var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'unnamed'; + var decl = arguments[1]; + var options = arguments[2]; + var jss = options.jss; + + var declCopy = (0, _cloneStyle2['default'])(decl); + + var rule = jss.plugins.onCreateRule(name, declCopy, options); + if (rule) return rule; + + // It is an at-rule and it has no instance. + if (name[0] === '@') { + (0, _warning2['default'])(false, '[JSS] Unknown at-rule %s', name); + } + + return new _StyleRule2['default'](name, declCopy, options); +} + +/***/ }), +/* 105 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isBrowser", function() { return isBrowser; }); +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +var isBrowser = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" && (typeof document === "undefined" ? "undefined" : _typeof(document)) === 'object' && document.nodeType === 9; + +/* harmony default export */ __webpack_exports__["default"] = (isBrowser); + + +/***/ }), +/* 106 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +var isMergeableObject = function isMergeableObject(value) { + return isNonNullObject(value) + && !isSpecial(value) +}; + +function isNonNullObject(value) { + return !!value && typeof value === 'object' +} + +function isSpecial(value) { + var stringValue = Object.prototype.toString.call(value); + + return stringValue === '[object RegExp]' + || stringValue === '[object Date]' + || isReactElement(value) +} + +// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 +var canUseSymbol = typeof Symbol === 'function' && Symbol.for; +var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; + +function isReactElement(value) { + return value.$$typeof === REACT_ELEMENT_TYPE +} + +function emptyTarget(val) { + return Array.isArray(val) ? [] : {} +} + +function cloneUnlessOtherwiseSpecified(value, options) { + return (options.clone !== false && options.isMergeableObject(value)) + ? deepmerge(emptyTarget(value), value, options) + : value +} + +function defaultArrayMerge(target, source, options) { + return target.concat(source).map(function(element) { + return cloneUnlessOtherwiseSpecified(element, options) + }) +} + +function mergeObject(target, source, options) { + var destination = {}; + if (options.isMergeableObject(target)) { + Object.keys(target).forEach(function(key) { + destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); + }); + } + Object.keys(source).forEach(function(key) { + if (!options.isMergeableObject(source[key]) || !target[key]) { + destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); + } else { + destination[key] = deepmerge(target[key], source[key], options); + } + }); + return destination +} + +function deepmerge(target, source, options) { + options = options || {}; + options.arrayMerge = options.arrayMerge || defaultArrayMerge; + options.isMergeableObject = options.isMergeableObject || isMergeableObject; + + var sourceIsArray = Array.isArray(source); + var targetIsArray = Array.isArray(target); + var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; + + if (!sourceAndTargetTypesMatch) { + return cloneUnlessOtherwiseSpecified(source, options) + } else if (sourceIsArray) { + return options.arrayMerge(target, source, options) + } else { + return mergeObject(target, source, options) + } +} + +deepmerge.all = function deepmergeAll(array, options) { + if (!Array.isArray(array)) { + throw new Error('first argument should be an array') + } + + return array.reduce(function(prev, next) { + return deepmerge(prev, next, options) + }, {}) +}; + +var deepmerge_1 = deepmerge; + +/* harmony default export */ __webpack_exports__["default"] = (deepmerge_1); + + +/***/ }), +/* 107 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; +exports.default = void 0; + +var _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement); + +exports.default = _default; +module.exports = exports["default"]; + +/***/ }), +/* 108 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/** + * @ignore + * some key-codes definition and utils from closure-library + * @author yiminghe@gmail.com + */ +var KeyCode = { + /** + * MAC_ENTER + */ + MAC_ENTER: 3, + + /** + * BACKSPACE + */ + BACKSPACE: 8, + + /** + * TAB + */ + TAB: 9, + + /** + * NUMLOCK on FF/Safari Mac + */ + NUM_CENTER: 12, + + /** + * ENTER + */ + ENTER: 13, + + /** + * SHIFT + */ + SHIFT: 16, + + /** + * CTRL + */ + CTRL: 17, + + /** + * ALT + */ + ALT: 18, + + /** + * PAUSE + */ + PAUSE: 19, + + /** + * CAPS_LOCK + */ + CAPS_LOCK: 20, + + /** + * ESC + */ + ESC: 27, + + /** + * SPACE + */ + SPACE: 32, + + /** + * PAGE_UP + */ + PAGE_UP: 33, + + /** + * PAGE_DOWN + */ + PAGE_DOWN: 34, + + /** + * END + */ + END: 35, + + /** + * HOME + */ + HOME: 36, + + /** + * LEFT + */ + LEFT: 37, + + /** + * UP + */ + UP: 38, + + /** + * RIGHT + */ + RIGHT: 39, + + /** + * DOWN + */ + DOWN: 40, + + /** + * PRINT_SCREEN + */ + PRINT_SCREEN: 44, + + /** + * INSERT + */ + INSERT: 45, + + /** + * DELETE + */ + DELETE: 46, + + /** + * ZERO + */ + ZERO: 48, + + /** + * ONE + */ + ONE: 49, + + /** + * TWO + */ + TWO: 50, + + /** + * THREE + */ + THREE: 51, + + /** + * FOUR + */ + FOUR: 52, + + /** + * FIVE + */ + FIVE: 53, + + /** + * SIX + */ + SIX: 54, + + /** + * SEVEN + */ + SEVEN: 55, + + /** + * EIGHT + */ + EIGHT: 56, + + /** + * NINE + */ + NINE: 57, + + /** + * QUESTION_MARK + */ + QUESTION_MARK: 63, + + /** + * A + */ + A: 65, + + /** + * B + */ + B: 66, + + /** + * C + */ + C: 67, + + /** + * D + */ + D: 68, + + /** + * E + */ + E: 69, + + /** + * F + */ + F: 70, + + /** + * G + */ + G: 71, + + /** + * H + */ + H: 72, + + /** + * I + */ + I: 73, + + /** + * J + */ + J: 74, + + /** + * K + */ + K: 75, + + /** + * L + */ + L: 76, + + /** + * M + */ + M: 77, + + /** + * N + */ + N: 78, + + /** + * O + */ + O: 79, + + /** + * P + */ + P: 80, + + /** + * Q + */ + Q: 81, + + /** + * R + */ + R: 82, + + /** + * S + */ + S: 83, + + /** + * T + */ + T: 84, + + /** + * U + */ + U: 85, + + /** + * V + */ + V: 86, + + /** + * W + */ + W: 87, + + /** + * X + */ + X: 88, + + /** + * Y + */ + Y: 89, + + /** + * Z + */ + Z: 90, + + /** + * META + */ + META: 91, + + /** + * WIN_KEY_RIGHT + */ + WIN_KEY_RIGHT: 92, + + /** + * CONTEXT_MENU + */ + CONTEXT_MENU: 93, + + /** + * NUM_ZERO + */ + NUM_ZERO: 96, + + /** + * NUM_ONE + */ + NUM_ONE: 97, + + /** + * NUM_TWO + */ + NUM_TWO: 98, + + /** + * NUM_THREE + */ + NUM_THREE: 99, + + /** + * NUM_FOUR + */ + NUM_FOUR: 100, + + /** + * NUM_FIVE + */ + NUM_FIVE: 101, + + /** + * NUM_SIX + */ + NUM_SIX: 102, + + /** + * NUM_SEVEN + */ + NUM_SEVEN: 103, + + /** + * NUM_EIGHT + */ + NUM_EIGHT: 104, + + /** + * NUM_NINE + */ + NUM_NINE: 105, + + /** + * NUM_MULTIPLY + */ + NUM_MULTIPLY: 106, + + /** + * NUM_PLUS + */ + NUM_PLUS: 107, + + /** + * NUM_MINUS + */ + NUM_MINUS: 109, + + /** + * NUM_PERIOD + */ + NUM_PERIOD: 110, + + /** + * NUM_DIVISION + */ + NUM_DIVISION: 111, + + /** + * F1 + */ + F1: 112, + + /** + * F2 + */ + F2: 113, + + /** + * F3 + */ + F3: 114, + + /** + * F4 + */ + F4: 115, + + /** + * F5 + */ + F5: 116, + + /** + * F6 + */ + F6: 117, + + /** + * F7 + */ + F7: 118, + + /** + * F8 + */ + F8: 119, + + /** + * F9 + */ + F9: 120, + + /** + * F10 + */ + F10: 121, + + /** + * F11 + */ + F11: 122, + + /** + * F12 + */ + F12: 123, + + /** + * NUMLOCK + */ + NUMLOCK: 144, + + /** + * SEMICOLON + */ + SEMICOLON: 186, + + /** + * DASH + */ + DASH: 189, + + /** + * EQUALS + */ + EQUALS: 187, + + /** + * COMMA + */ + COMMA: 188, + + /** + * PERIOD + */ + PERIOD: 190, + + /** + * SLASH + */ + SLASH: 191, + + /** + * APOSTROPHE + */ + APOSTROPHE: 192, + + /** + * SINGLE_QUOTE + */ + SINGLE_QUOTE: 222, + + /** + * OPEN_SQUARE_BRACKET + */ + OPEN_SQUARE_BRACKET: 219, + + /** + * BACKSLASH + */ + BACKSLASH: 220, + + /** + * CLOSE_SQUARE_BRACKET + */ + CLOSE_SQUARE_BRACKET: 221, + + /** + * WIN_KEY + */ + WIN_KEY: 224, + + /** + * MAC_FF_META + */ + MAC_FF_META: 224, + + /** + * WIN_IME + */ + WIN_IME: 229, + // ======================== Function ======================== + + /** + * whether text and modified key is entered at the same time. + */ + isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) { + var keyCode = e.keyCode; + + if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text + keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) { + return false; + } // The following keys are quite harmless, even in combination with + // CTRL, ALT or SHIFT. + + + switch (keyCode) { + case KeyCode.ALT: + case KeyCode.CAPS_LOCK: + case KeyCode.CONTEXT_MENU: + case KeyCode.CTRL: + case KeyCode.DOWN: + case KeyCode.END: + case KeyCode.ESC: + case KeyCode.HOME: + case KeyCode.INSERT: + case KeyCode.LEFT: + case KeyCode.MAC_FF_META: + case KeyCode.META: + case KeyCode.NUMLOCK: + case KeyCode.NUM_CENTER: + case KeyCode.PAGE_DOWN: + case KeyCode.PAGE_UP: + case KeyCode.PAUSE: + case KeyCode.PRINT_SCREEN: + case KeyCode.RIGHT: + case KeyCode.SHIFT: + case KeyCode.UP: + case KeyCode.WIN_KEY: + case KeyCode.WIN_KEY_RIGHT: + return false; + + default: + return true; + } + }, + + /** + * whether character is entered. + */ + isCharacterKey: function isCharacterKey(keyCode) { + if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) { + return true; + } + + if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) { + return true; + } + + if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) { + return true; + } // Safari sends zero key code for non-latin characters. + + + if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) { + return true; + } + + switch (keyCode) { + case KeyCode.SPACE: + case KeyCode.QUESTION_MARK: + case KeyCode.NUM_PLUS: + case KeyCode.NUM_MINUS: + case KeyCode.NUM_PERIOD: + case KeyCode.NUM_DIVISION: + case KeyCode.SEMICOLON: + case KeyCode.DASH: + case KeyCode.EQUALS: + case KeyCode.COMMA: + case KeyCode.PERIOD: + case KeyCode.SLASH: + case KeyCode.APOSTROPHE: + case KeyCode.SINGLE_QUOTE: + case KeyCode.OPEN_SQUARE_BRACKET: + case KeyCode.BACKSLASH: + case KeyCode.CLOSE_SQUARE_BRACKET: + return true; + + default: + return false; + } + } +}; +/* harmony default export */ __webpack_exports__["a"] = (KeyCode); + +/***/ }), +/* 109 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.DEPRECATED_CONFIG_PROPS = exports.defaultProps = exports.propTypes = void 0; + +var _propTypes = _interopRequireDefault(__webpack_require__(1)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var string = _propTypes["default"].string, + bool = _propTypes["default"].bool, + number = _propTypes["default"].number, + array = _propTypes["default"].array, + oneOfType = _propTypes["default"].oneOfType, + shape = _propTypes["default"].shape, + object = _propTypes["default"].object, + func = _propTypes["default"].func, + node = _propTypes["default"].node; +var propTypes = { + url: oneOfType([string, array, object]), + playing: bool, + loop: bool, + controls: bool, + volume: number, + muted: bool, + playbackRate: number, + width: oneOfType([string, number]), + height: oneOfType([string, number]), + style: object, + progressInterval: number, + playsinline: bool, + pip: bool, + light: oneOfType([bool, string]), + playIcon: node, + wrapper: oneOfType([string, func, shape({ + render: func.isRequired + })]), + config: shape({ + soundcloud: shape({ + options: object, + preload: bool + }), + youtube: shape({ + playerVars: object, + embedOptions: object, + preload: bool + }), + facebook: shape({ + appId: string, + version: string, + playerId: string + }), + dailymotion: shape({ + params: object, + preload: bool + }), + vimeo: shape({ + playerOptions: object, + preload: bool + }), + file: shape({ + attributes: object, + tracks: array, + forceVideo: bool, + forceAudio: bool, + forceHLS: bool, + forceDASH: bool, + hlsOptions: object, + hlsVersion: string, + dashVersion: string + }), + wistia: shape({ + options: object + }), + mixcloud: shape({ + options: object + }), + twitch: shape({ + options: object, + playerId: string + }) + }), + onReady: func, + onStart: func, + onPlay: func, + onPause: func, + onBuffer: func, + onBufferEnd: func, + onEnded: func, + onError: func, + onDuration: func, + onSeek: func, + onProgress: func, + onEnablePIP: func, + onDisablePIP: func +}; +exports.propTypes = propTypes; +var defaultProps = { + playing: false, + loop: false, + controls: false, + volume: null, + muted: false, + playbackRate: 1, + width: '640px', + height: '360px', + style: {}, + progressInterval: 1000, + playsinline: false, + pip: false, + light: false, + wrapper: 'div', + config: { + soundcloud: { + options: { + visual: true, + // Undocumented, but makes player fill container and look better + buying: false, + liking: false, + download: false, + sharing: false, + show_comments: false, + show_playcount: false + } + }, + youtube: { + playerVars: { + playsinline: 1, + showinfo: 0, + rel: 0, + iv_load_policy: 3, + modestbranding: 1 + }, + embedOptions: {}, + preload: false + }, + facebook: { + appId: '1309697205772819', + version: 'v3.3', + playerId: null + }, + dailymotion: { + params: { + api: 1, + 'endscreen-enable': false + }, + preload: false + }, + vimeo: { + playerOptions: { + autopause: false, + byline: false, + portrait: false, + title: false + }, + preload: false + }, + file: { + attributes: {}, + tracks: [], + forceVideo: false, + forceAudio: false, + forceHLS: false, + forceDASH: false, + hlsOptions: {}, + hlsVersion: '0.13.1', + dashVersion: '2.9.2' + }, + wistia: { + options: {} + }, + mixcloud: { + options: { + hide_cover: 1 + } + }, + twitch: { + options: {}, + playerId: null + } + }, + onReady: function onReady() {}, + onStart: function onStart() {}, + onPlay: function onPlay() {}, + onPause: function onPause() {}, + onBuffer: function onBuffer() {}, + onBufferEnd: function onBufferEnd() {}, + onEnded: function onEnded() {}, + onError: function onError() {}, + onDuration: function onDuration() {}, + onSeek: function onSeek() {}, + onProgress: function onProgress() {}, + onEnablePIP: function onEnablePIP() {}, + onDisablePIP: function onDisablePIP() {} +}; +exports.defaultProps = defaultProps; +var DEPRECATED_CONFIG_PROPS = ['soundcloudConfig', 'youtubeConfig', 'facebookConfig', 'dailymotionConfig', 'vimeoConfig', 'fileConfig', 'wistiaConfig']; +exports.DEPRECATED_CONFIG_PROPS = DEPRECATED_CONFIG_PROPS; + +/***/ }), +/* 110 */ +/***/ (function(module, exports) { + +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + + +/***/ }), +/* 111 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _interopRequireDefault = __webpack_require__(2); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _Typography.default; + } +}); + +var _Typography = _interopRequireDefault(__webpack_require__(610)); + +/***/ }), +/* 112 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _interopRequireDefault = __webpack_require__(2); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _Dialog.default; + } +}); +Object.defineProperty(exports, "DialogActions", { + enumerable: true, + get: function get() { + return _DialogActions.default; + } +}); +Object.defineProperty(exports, "DialogTitle", { + enumerable: true, + get: function get() { + return _DialogTitle.default; + } +}); +Object.defineProperty(exports, "DialogContent", { + enumerable: true, + get: function get() { + return _DialogContent.default; + } +}); +Object.defineProperty(exports, "DialogContentText", { + enumerable: true, + get: function get() { + return _DialogContentText.default; + } +}); +Object.defineProperty(exports, "withMobileDialog", { + enumerable: true, + get: function get() { + return _withMobileDialog.default; + } +}); + +var _Dialog = _interopRequireDefault(__webpack_require__(499)); + +var _DialogActions = _interopRequireDefault(__webpack_require__(590)); + +var _DialogTitle = _interopRequireDefault(__webpack_require__(609)); + +var _DialogContent = _interopRequireDefault(__webpack_require__(611)); + +var _DialogContentText = _interopRequireDefault(__webpack_require__(612)); + +var _withMobileDialog = _interopRequireDefault(__webpack_require__(613)); + +/***/ }), +/* 113 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_modal_style_css__ = __webpack_require__(32); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_modal_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_antd_lib_modal_style_css__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_modal__ = __webpack_require__(33); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_modal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_antd_lib_modal__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_educoder__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_axios__ = __webpack_require__(15); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_axios__); +var _createClass=function(){function defineProperties(target,props){for(var i=0;i 0) { + return "Unexpected " + (unexpectedKeys.length > 1 ? 'keys' : 'key') + " " + ("\"" + unexpectedKeys.join('", "') + "\" found in " + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ("\"" + reducerKeys.join('", "') + "\". Unexpected keys will be ignored."); + } +} + +function assertReducerShape(reducers) { + Object.keys(reducers).forEach(function (key) { + var reducer = reducers[key]; + var initialState = reducer(undefined, { + type: ActionTypes.INIT + }); + + if (typeof initialState === 'undefined') { + throw new Error("Reducer \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined."); + } + + if (typeof reducer(undefined, { + type: ActionTypes.PROBE_UNKNOWN_ACTION() + }) === 'undefined') { + throw new Error("Reducer \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle " + ActionTypes.INIT + " or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null."); + } + }); +} +/** + * Turns an object whose values are different reducer functions, into a single + * reducer function. It will call every child reducer, and gather their results + * into a single state object, whose keys correspond to the keys of the passed + * reducer functions. + * + * @param {Object} reducers An object whose values correspond to different + * reducer functions that need to be combined into one. One handy way to obtain + * it is to use ES6 `import * as reducers` syntax. The reducers may never return + * undefined for any action. Instead, they should return their initial state + * if the state passed to them was undefined, and the current state for any + * unrecognized action. + * + * @returns {Function} A reducer function that invokes every reducer inside the + * passed object, and builds a state object with the same shape. + */ + + +function combineReducers(reducers) { + var reducerKeys = Object.keys(reducers); + var finalReducers = {}; + + for (var i = 0; i < reducerKeys.length; i++) { + var key = reducerKeys[i]; + + if (false) { + if (typeof reducers[key] === 'undefined') { + warning("No reducer provided for key \"" + key + "\""); + } + } + + if (typeof reducers[key] === 'function') { + finalReducers[key] = reducers[key]; + } + } + + var finalReducerKeys = Object.keys(finalReducers); + var unexpectedKeyCache; + + if (false) { + unexpectedKeyCache = {}; + } + + var shapeAssertionError; + + try { + assertReducerShape(finalReducers); + } catch (e) { + shapeAssertionError = e; + } + + return function combination(state, action) { + if (state === void 0) { + state = {}; + } + + if (shapeAssertionError) { + throw shapeAssertionError; + } + + if (false) { + var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache); + + if (warningMessage) { + warning(warningMessage); + } + } + + var hasChanged = false; + var nextState = {}; + + for (var _i = 0; _i < finalReducerKeys.length; _i++) { + var _key = finalReducerKeys[_i]; + var reducer = finalReducers[_key]; + var previousStateForKey = state[_key]; + var nextStateForKey = reducer(previousStateForKey, action); + + if (typeof nextStateForKey === 'undefined') { + var errorMessage = getUndefinedStateErrorMessage(_key, action); + throw new Error(errorMessage); + } + + nextState[_key] = nextStateForKey; + hasChanged = hasChanged || nextStateForKey !== previousStateForKey; + } + + return hasChanged ? nextState : state; + }; +} + +function bindActionCreator(actionCreator, dispatch) { + return function () { + return dispatch(actionCreator.apply(this, arguments)); + }; +} +/** + * Turns an object whose values are action creators, into an object with the + * same keys, but with every function wrapped into a `dispatch` call so they + * may be invoked directly. This is just a convenience method, as you can call + * `store.dispatch(MyActionCreators.doSomething())` yourself just fine. + * + * For convenience, you can also pass a single function as the first argument, + * and get a function in return. + * + * @param {Function|Object} actionCreators An object whose values are action + * creator functions. One handy way to obtain it is to use ES6 `import * as` + * syntax. You may also pass a single function. + * + * @param {Function} dispatch The `dispatch` function available on your Redux + * store. + * + * @returns {Function|Object} The object mimicking the original object, but with + * every action creator wrapped into the `dispatch` call. If you passed a + * function as `actionCreators`, the return value will also be a single + * function. + */ + + +function bindActionCreators(actionCreators, dispatch) { + if (typeof actionCreators === 'function') { + return bindActionCreator(actionCreators, dispatch); + } + + if (typeof actionCreators !== 'object' || actionCreators === null) { + throw new Error("bindActionCreators expected an object or a function, instead received " + (actionCreators === null ? 'null' : typeof actionCreators) + ". " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?"); + } + + var keys = Object.keys(actionCreators); + var boundActionCreators = {}; + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var actionCreator = actionCreators[key]; + + if (typeof actionCreator === 'function') { + boundActionCreators[key] = bindActionCreator(actionCreator, dispatch); + } + } + + return boundActionCreators; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; +} + +/** + * Composes single-argument functions from right to left. The rightmost + * function can take multiple arguments as it provides the signature for + * the resulting composite function. + * + * @param {...Function} funcs The functions to compose. + * @returns {Function} A function obtained by composing the argument functions + * from right to left. For example, compose(f, g, h) is identical to doing + * (...args) => f(g(h(...args))). + */ +function compose() { + for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { + funcs[_key] = arguments[_key]; + } + + if (funcs.length === 0) { + return function (arg) { + return arg; + }; + } + + if (funcs.length === 1) { + return funcs[0]; + } + + return funcs.reduce(function (a, b) { + return function () { + return a(b.apply(void 0, arguments)); + }; + }); +} + +/** + * Creates a store enhancer that applies middleware to the dispatch method + * of the Redux store. This is handy for a variety of tasks, such as expressing + * asynchronous actions in a concise manner, or logging every action payload. + * + * See `redux-thunk` package as an example of the Redux middleware. + * + * Because middleware is potentially asynchronous, this should be the first + * store enhancer in the composition chain. + * + * Note that each middleware will be given the `dispatch` and `getState` functions + * as named arguments. + * + * @param {...Function} middlewares The middleware chain to be applied. + * @returns {Function} A store enhancer applying the middleware. + */ + +function applyMiddleware() { + for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) { + middlewares[_key] = arguments[_key]; + } + + return function (createStore) { + return function () { + var store = createStore.apply(void 0, arguments); + + var _dispatch = function dispatch() { + throw new Error("Dispatching while constructing your middleware is not allowed. " + "Other middleware would not be applied to this dispatch."); + }; + + var middlewareAPI = { + getState: store.getState, + dispatch: function dispatch() { + return _dispatch.apply(void 0, arguments); + } + }; + var chain = middlewares.map(function (middleware) { + return middleware(middlewareAPI); + }); + _dispatch = compose.apply(void 0, chain)(store.dispatch); + return _objectSpread({}, store, { + dispatch: _dispatch + }); + }; + }; +} + +/* + * This is a dummy function to check if the function name has been altered by minification. + * If the function has been minified and NODE_ENV !== 'production', warn the user. + */ + +function isCrushed() {} + +if (false) { + warning('You are currently using minified code outside of NODE_ENV === "production". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.'); +} + + + + +/***/ }), +/* 115 */ +/***/ (function(module, exports, __webpack_require__) { + +var _Object$getOwnPropertyDescriptor = __webpack_require__(248); + +var _Object$defineProperty = __webpack_require__(146); + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; + + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = _Object$defineProperty && _Object$getOwnPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : {}; + + if (desc.get || desc.set) { + _Object$defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + return newObj; + } +} + +module.exports = _interopRequireWildcard; + +/***/ }), +/* 116 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _interopRequireDefault = __webpack_require__(2); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.convertHexToRGB = convertHexToRGB; +exports.decomposeColor = decomposeColor; +exports.recomposeColor = recomposeColor; +exports.getContrastRatio = getContrastRatio; +exports.getLuminance = getLuminance; +exports.emphasize = emphasize; +exports.fade = fade; +exports.darken = darken; +exports.lighten = lighten; + +var _warning = _interopRequireDefault(__webpack_require__(13)); + +// weak + +/* eslint-disable no-use-before-define */ + +/** + * Returns a number whose value is limited to the given range. + * + * @param {number} value The value to be clamped + * @param {number} min The lower boundary of the output range + * @param {number} max The upper boundary of the output range + * @returns {number} A number in the range [min, max] + */ +function clamp(value) { + var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; + false ? (0, _warning.default)(value >= min && value <= max, "Material-UI: the value provided ".concat(value, " is out of range [").concat(min, ", ").concat(max, "].")) : void 0; + + if (value < min) { + return min; + } + + if (value > max) { + return max; + } + + return value; +} +/** + * Converts a color from CSS hex format to CSS rgb format. + * + * @param {string} color - Hex color, i.e. #nnn or #nnnnnn + * @returns {string} A CSS rgb color string + */ + + +function convertHexToRGB(color) { + color = color.substr(1); + var re = new RegExp(".{1,".concat(color.length / 3, "}"), 'g'); + var colors = color.match(re); + + if (colors && colors[0].length === 1) { + colors = colors.map(function (n) { + return n + n; + }); + } + + return colors ? "rgb(".concat(colors.map(function (n) { + return parseInt(n, 16); + }).join(', '), ")") : ''; +} +/** + * Returns an object with the type and values of a color. + * + * Note: Does not support rgb % values. + * + * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() + * @returns {object} - A MUI color object: {type: string, values: number[]} + */ + + +function decomposeColor(color) { + if (color.charAt(0) === '#') { + return decomposeColor(convertHexToRGB(color)); + } + + var marker = color.indexOf('('); + var type = color.substring(0, marker); + var values = color.substring(marker + 1, color.length - 1).split(','); + values = values.map(function (value) { + return parseFloat(value); + }); + + if (false) { + if (['rgb', 'rgba', 'hsl', 'hsla'].indexOf(type) === -1) { + throw new Error(["Material-UI: unsupported `".concat(color, "` color."), 'We support the following formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla().'].join('\n')); + } + } + + return { + type: type, + values: values + }; +} +/** + * Converts a color object with type and values to a string. + * + * @param {object} color - Decomposed color + * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla' + * @param {array} color.values - [n,n,n] or [n,n,n,n] + * @returns {string} A CSS color string + */ + + +function recomposeColor(color) { + var type = color.type; + var values = color.values; + + if (type.indexOf('rgb') !== -1) { + // Only convert the first 3 values to int (i.e. not alpha) + values = values.map(function (n, i) { + return i < 3 ? parseInt(n, 10) : n; + }); + } + + if (type.indexOf('hsl') !== -1) { + values[1] = "".concat(values[1], "%"); + values[2] = "".concat(values[2], "%"); + } + + return "".concat(color.type, "(").concat(values.join(', '), ")"); +} +/** + * Calculates the contrast ratio between two colors. + * + * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + * + * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() + * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() + * @returns {number} A contrast ratio value in the range 0 - 21. + */ + + +function getContrastRatio(foreground, background) { + var lumA = getLuminance(foreground); + var lumB = getLuminance(background); + return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05); +} +/** + * The relative brightness of any point in a color space, + * normalized to 0 for darkest black and 1 for lightest white. + * + * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + * + * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() + * @returns {number} The relative brightness of the color in the range 0 - 1 + */ + + +function getLuminance(color) { + var decomposedColor = decomposeColor(color); + + if (decomposedColor.type.indexOf('rgb') !== -1) { + var rgb = decomposedColor.values.map(function (val) { + val /= 255; // normalized + + return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4); + }); // Truncate at 3 digits + + return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3)); + } // else if (decomposedColor.type.indexOf('hsl') !== -1) + + + return decomposedColor.values[2] / 100; +} +/** + * Darken or lighten a colour, depending on its luminance. + * Light colors are darkened, dark colors are lightened. + * + * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() + * @param {number} coefficient=0.15 - multiplier in the range 0 - 1 + * @returns {string} A CSS color string. Hex input values are returned as rgb + */ + + +function emphasize(color) { + var coefficient = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.15; + return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient); +} +/** + * Set the absolute transparency of a color. + * Any existing alpha values are overwritten. + * + * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() + * @param {number} value - value to set the alpha channel to in the range 0 -1 + * @returns {string} A CSS color string. Hex input values are returned as rgb + */ + + +function fade(color, value) { + false ? (0, _warning.default)(color, "Material-UI: missing color argument in fade(".concat(color, ", ").concat(value, ").")) : void 0; + if (!color) return color; + color = decomposeColor(color); + value = clamp(value); + + if (color.type === 'rgb' || color.type === 'hsl') { + color.type += 'a'; + } + + color.values[3] = value; + return recomposeColor(color); +} +/** + * Darkens a color. + * + * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() + * @param {number} coefficient - multiplier in the range 0 - 1 + * @returns {string} A CSS color string. Hex input values are returned as rgb + */ + + +function darken(color, coefficient) { + false ? (0, _warning.default)(color, "Material-UI: missing color argument in darken(".concat(color, ", ").concat(coefficient, ").")) : void 0; + if (!color) return color; + color = decomposeColor(color); + coefficient = clamp(coefficient); + + if (color.type.indexOf('hsl') !== -1) { + color.values[2] *= 1 - coefficient; + } else if (color.type.indexOf('rgb') !== -1) { + for (var i = 0; i < 3; i += 1) { + color.values[i] *= 1 - coefficient; + } + } + + return recomposeColor(color); +} +/** + * Lightens a color. + * + * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() + * @param {number} coefficient - multiplier in the range 0 - 1 + * @returns {string} A CSS color string. Hex input values are returned as rgb + */ + + +function lighten(color, coefficient) { + false ? (0, _warning.default)(color, "Material-UI: missing color argument in lighten(".concat(color, ", ").concat(coefficient, ").")) : void 0; + if (!color) return color; + color = decomposeColor(color); + coefficient = clamp(coefficient); + + if (color.type.indexOf('hsl') !== -1) { + color.values[2] += (100 - color.values[2]) * coefficient; + } else if (color.type.indexOf('rgb') !== -1) { + for (var i = 0; i < 3; i += 1) { + color.values[i] += (255 - color.values[i]) * coefficient; + } + } + + return recomposeColor(color); +} + +/***/ }), +/* 117 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _iterator = __webpack_require__(469); + +var _iterator2 = _interopRequireDefault(_iterator); + +var _symbol = __webpack_require__(476); + +var _symbol2 = _interopRequireDefault(_symbol); + +var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { + return typeof obj === "undefined" ? "undefined" : _typeof(obj); +} : function (obj) { + return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); +}; + +/***/ }), +/* 118 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(474); +var global = __webpack_require__(37); +var hide = __webpack_require__(48); +var Iterators = __webpack_require__(64); +var TO_STRING_TAG = __webpack_require__(29)('toStringTag'); + +var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + + 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + + 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + + 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + + 'TextTrackList,TouchList').split(','); + +for (var i = 0; i < DOMIterables.length; i++) { + var NAME = DOMIterables[i]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); + Iterators[NAME] = Iterators.Array; +} + + +/***/ }), +/* 119 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _getDisplayName = __webpack_require__(256); + +var _getDisplayName2 = _interopRequireDefault(_getDisplayName); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var wrapDisplayName = function wrapDisplayName(BaseComponent, hocName) { + return hocName + '(' + (0, _getDisplayName2.default)(BaseComponent) + ')'; +}; + +exports.default = wrapDisplayName; + +/***/ }), +/* 120 */ +/***/ (function(module, exports) { + +// Source: http://jsfiddle.net/vWx8V/ +// http://stackoverflow.com/questions/5603195/full-list-of-javascript-keycodes + +/** + * Conenience method returns corresponding value for given keyName or keyCode. + * + * @param {Mixed} keyCode {Number} or keyName {String} + * @return {Mixed} + * @api public + */ + +function keyCode(searchInput) { + // Keyboard Events + if (searchInput && 'object' === typeof searchInput) { + var hasKeyCode = searchInput.which || searchInput.keyCode || searchInput.charCode + if (hasKeyCode) searchInput = hasKeyCode + } + + // Numbers + if ('number' === typeof searchInput) return names[searchInput] + + // Everything else (cast to string) + var search = String(searchInput) + + // check codes + var foundNamedKey = codes[search.toLowerCase()] + if (foundNamedKey) return foundNamedKey + + // check aliases + var foundNamedKey = aliases[search.toLowerCase()] + if (foundNamedKey) return foundNamedKey + + // weird character? + if (search.length === 1) return search.charCodeAt(0) + + return undefined +} + +/** + * Compares a keyboard event with a given keyCode or keyName. + * + * @param {Event} event Keyboard event that should be tested + * @param {Mixed} keyCode {Number} or keyName {String} + * @return {Boolean} + * @api public + */ +keyCode.isEventKey = function isEventKey(event, nameOrCode) { + if (event && 'object' === typeof event) { + var keyCode = event.which || event.keyCode || event.charCode + if (keyCode === null || keyCode === undefined) { return false; } + if (typeof nameOrCode === 'string') { + // check codes + var foundNamedKey = codes[nameOrCode.toLowerCase()] + if (foundNamedKey) { return foundNamedKey === keyCode; } + + // check aliases + var foundNamedKey = aliases[nameOrCode.toLowerCase()] + if (foundNamedKey) { return foundNamedKey === keyCode; } + } else if (typeof nameOrCode === 'number') { + return nameOrCode === keyCode; + } + return false; + } +} + +exports = module.exports = keyCode; + +/** + * Get by name + * + * exports.code['enter'] // => 13 + */ + +var codes = exports.code = exports.codes = { + 'backspace': 8, + 'tab': 9, + 'enter': 13, + 'shift': 16, + 'ctrl': 17, + 'alt': 18, + 'pause/break': 19, + 'caps lock': 20, + 'esc': 27, + 'space': 32, + 'page up': 33, + 'page down': 34, + 'end': 35, + 'home': 36, + 'left': 37, + 'up': 38, + 'right': 39, + 'down': 40, + 'insert': 45, + 'delete': 46, + 'command': 91, + 'left command': 91, + 'right command': 93, + 'numpad *': 106, + 'numpad +': 107, + 'numpad -': 109, + 'numpad .': 110, + 'numpad /': 111, + 'num lock': 144, + 'scroll lock': 145, + 'my computer': 182, + 'my calculator': 183, + ';': 186, + '=': 187, + ',': 188, + '-': 189, + '.': 190, + '/': 191, + '`': 192, + '[': 219, + '\\': 220, + ']': 221, + "'": 222 +} + +// Helper aliases + +var aliases = exports.aliases = { + 'windows': 91, + '⇧': 16, + '⌥': 18, + '⌃': 17, + '⌘': 91, + 'ctl': 17, + 'control': 17, + 'option': 18, + 'pause': 19, + 'break': 19, + 'caps': 20, + 'return': 13, + 'escape': 27, + 'spc': 32, + 'spacebar': 32, + 'pgup': 33, + 'pgdn': 34, + 'ins': 45, + 'del': 46, + 'cmd': 91 +} + +/*! + * Programatically add the following + */ + +// lower case chars +for (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32 + +// numbers +for (var i = 48; i < 58; i++) codes[i - 48] = i + +// function keys +for (i = 1; i < 13; i++) codes['f'+i] = i + 111 + +// numpad keys +for (i = 0; i < 10; i++) codes['numpad '+i] = i + 96 + +/** + * Get by code + * + * exports.name[13] // => 'Enter' + */ + +var names = exports.names = exports.title = {} // title for backward compat + +// Create reverse mapping +for (i in codes) names[codes[i]] = i + +// Add aliases +for (var alias in aliases) { + codes[alias] = aliases[alias] +} + + +/***/ }), +/* 121 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_notification_style_css__ = __webpack_require__(45); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_notification_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_antd_lib_notification_style_css__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_notification__ = __webpack_require__(46); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_notification___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_antd_lib_notification__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_router__ = __webpack_require__(61); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Dialog__ = __webpack_require__(112); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Dialog___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_material_ui_Dialog__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_axios__ = __webpack_require__(15); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_axios__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__LoginDialog_css__ = __webpack_require__(271); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__LoginDialog_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__LoginDialog_css__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_educoder__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__user_Notcompletedysl__ = __webpack_require__(206); +var _createClass=function(){function defineProperties(target,props){for(var i=0;i去注册").show();}else{$("#pass_name_input").next().find("p").html("该邮箱尚未绑定,你可以登录后去绑定").show();}}else{$("#pass_name_input").next().find("p").hide();if(type==6){$("#send_code_notice").html(data.msg).show();}else{var uurl=window.gotoEmail(data.link);$("#send_code_notice").html("验证码已经发送到您的邮箱,去查收").show();}time(btn);}});}else{$("#passlogin_error_notice").show();}}}}var LoginDialog=function(_Component){_inherits(LoginDialog,_Component);function LoginDialog(props){_classCallCheck(this,LoginDialog);var _this=_possibleConstructorReturn(this,(LoginDialog.__proto__||Object.getPrototypeOf(LoginDialog)).call(this,props));_this.enter=function(num){_this.setState({login:num,speedy:1,dialogBox:'dialogBox'});};_this.register=function(num){_this.setState({login:1,speedy:num,dialogBox:'dialogBox2'});};_this.inputOnBlur=function(e,id){_this.Emailphonenumberverification(e.target.value,1);};_this.loginChange=function(e){var stirngt="";if(e.target.value.length>0){var str=e.target.value.replace(/\s*/g,"");stirngt=str;}else{stirngt=e.target.value;}if(e.target.value.length===0){_this.setState({loginValue:stirngt,Phonenumberisnotco:undefined});}else{_this.setState({loginValue:stirngt,Phonenumberisnotco:undefined});}// let reg = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/; +// let reg1 = /^1\d{10}$/; +// let reg2=/^[a-zA-z]\w{3,14}$/; +// // let reg3=/^[a-zA-Z0-9]+([.\-_\\]*[a-zA-Z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/; +// let value=this.refs.loginPassText.value; +// let valuenum= value.length; +// if(valuenum>0){ +// if(!reg.test(value)&&!reg1.test(value)&&!reg2.test(value)){ +// this.setState({regular:1}) +// return +// }else{ +// // this.setState({loginValue:value}); +// this.setState({regular:0}); +// var stirngt; +// if(value.length>0){ +// var str= value.replace(/\s*/g,"") +// stirngt=str; +// }else{ +// stirngt= value; +// } +// this.setState({ +// loginValue:stirngt, +// }); +// } +// }else{ +// this.setState({loginValue:value}); +// var stirngt; +// if(value.length>0){ +// var str= value.replace(/\s*/g,"") +// stirngt=str; +// }else{ +// stirngt= value; +// } +// this.setState({ +// loginValue:stirngt, +// }); +// } +};_this.Emailphonenumberverification=function(value,id){var url='/accounts/valid_email_and_phone.json';__WEBPACK_IMPORTED_MODULE_5_axios___default.a.get(url,{params:{login:value,type:1}}).then(function(result){if(result){if(result.data.status===-2){if(result.data.message==="该手机号码或邮箱已被注册"){_this.setState({Phonenumberisnotco:undefined,Phonenumberisnotcobool:false});}else{_this.setState({Phonenumberisnotco:result.data.message,Phonenumberisnotcobool:true});}return;}else{_this.setState({Phonenumberisnotco:undefined,Phonenumberisnotcobool:false});return;}}}).catch(function(error){});};_this.passwordChange=function(){var value=_this.refs.passwordText.value;var valuenum=value.length;_this.setState({disabled:false});_this.setState({bottonclass:'log-botton mt5 edu-back-blue'});if(valuenum==0){_this.setState({bottonclass:'log-botton mt5'});_this.setState({disabled:true});}_this.setState({passValue:value});};_this.handleInputChange=function(event){var target=event.target;var value=target.type==='checkbox'?target.checked:target.value;var name=target.name;_this.setState(_defineProperty({},name,value));if(value===true){_this.setState({isGoingValue:1});}else{_this.setState({isGoingValue:0});}};_this.shortcutIdChange=function(){var reg=/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;var reg1=/^1\d{10}$/;var reg2=/^[a-zA-z]\w{3,14}$/;var value=_this.refs.shortcutText.value;var valuenum=value.length;if(valuenum>0){if(!reg.test(value)&&!reg1.test(value)&&!reg2.test(value)){_this.setState({shortcutnum:0});_this.setState({disabledType:true});_this.setState({gaincode:'gain-code'});return;}else{_this.setState({gaincode:'gain-code edu-back-blue'});_this.setState({shortcutValue:value});_this.setState({shortcutnum:1});_this.setState({disabledType:false});}}else{_this.setState({shortcutValue:value});}};_this.authCodeChange=function(){var value=_this.refs.authCodeText.value;var valuenum=value.length;if(valuenum>3){_this.setState({authCodeType:false});_this.setState({authCodeclass:'log-botton mt5 edu-back-blue'});}else if(valuenum==0){_this.setState({authCodeType:true});_this.setState({authCodeclass:'log-botton mt5'});}};_this.get_login_verification_code=function(){get_login_verification_code($('#get_verification_code')[0]);};_this.dragWrapper=function(){var $=window.$;$.fn.drag=function(options){var x,drag=this,isMove=false,defaults={};var options=$.extend(defaults,options);var handler=drag.find('.handler');var drag_bg=drag.find('.drag_bg');var text=drag.find('.drag_text');var maxWidth=100;//鼠标按下时候的x轴的位置 +handler.mousedown(function(e){isMove=true;x=e.pageX-parseInt(handler.css('left'),10);maxWidth=drag.width()-handler.width()-2;//能滑动的最大间距 +});$(document).mousemove(function(e){var _x=e.pageX-x;// _x = e.pageX - (e.pageX - parseInt(handler.css('left'), 10)) = x +if(isMove){if(_x>0&&_x<=maxWidth){handler.css({'left':_x});drag_bg.css({'width':_x});}else if(_x>maxWidth){//鼠标指针移动距离达到最大时清空事件 +dragOk();}}}).mouseup(function(e){isMove=false;var _x=e.pageX-x;if(_x0){flag=false;break;}}return flag;};_this.handleDialogClose=function(){// if(this.props.match.path==='/'){ +// this.setState({ +// isRender: false +// }) +// this.props.Modifyloginvalue(); +// }else{ +// if(this.props.isloginCancel===undefined){ +// window.location.href="/"; +// this.props.Modifyloginvalue(); +// // this.setState({ +// // isRender: false +// // }) +// // this.props.Modifyloginvalue(); +// }else{ +// this.setState({ +// isRender: false +// }) +// this.props.Modifyloginvalue(); +// } +_this.setState({isRender:false});_this.props.Modifyloginvalue();// this.setState({ +// isRender: false +// }) +// try { +// this.props.Modifyloginvalue(); +// }catch (e) { +// +// } +};_this.loginEDU=function(){var _this$state=_this.state,loginValue=_this$state.loginValue,passValue=_this$state.passValue,regular=_this$state.regular,isGoingValue=_this$state.isGoingValue;if(regular===1){return;}var newloginValue=loginValue.replace(/(^\s*)|(\s*$)/g,"");var newpassValue=passValue.replace(/(^\s*)|(\s*$)/g,"");var url='/accounts/login.json';__WEBPACK_IMPORTED_MODULE_5_axios___default.a.post(url,{login:newloginValue,password:newpassValue,autologin:isGoingValue}).then(function(response){debugger;if(response===undefined){return;}if(response.status===200){if(response.data.status===402){// window.location.href = response.data.url; +}else if(response.data.status===-2){if(response.data.message==="登录密码出错已达上限,账号已被锁定, 请10分钟后重新登录或找回密码"){var messge=__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',null,__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('p',null,'\u767B\u5F55\u5BC6\u7801\u51FA\u9519\u5DF2\u8FBE\u4E0A\u9650\uFF0C\u8D26\u53F7\u5DF2\u88AB\u9501\u5B9A\uFF1B'),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('p',{className:'mt10'},'\u8BF710\u5206\u949F\u540E\u91CD\u65B0\u767B\u5F55\u6216',__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('a',{href:'/changepassword',style:{textDecoration:"underline",color:"#4CACFF"}},'\u627E\u56DE\u5BC6\u7801')));_this.openNotifications(messge);}else{__WEBPACK_IMPORTED_MODULE_1_antd_lib_notification___default.a.open({message:'提示',description:response.data.message,duration:5});}}else{Object(__WEBPACK_IMPORTED_MODULE_7_educoder__["E" /* broadcastChannelPostMessage */])('refreshPage');_this.setState({isRender:false});_this.props.Modifyloginvalue();window.location.reload();}}// try { +// this.props.Modifyloginvalue(); +// }catch (e) { +// +// } +}).catch(function(error){console.log("356");console.log(error);});};_this.setNotcompleteds=function(){_this.setState({Notcompleteds:true,MyEduCoderModals:false});};_this.setMyEduCoderModals=function(){_this.setState({MyEduCoderModals:true});};_this.onKeydowns=function(e){var disabled=_this.state.disabled;if(disabled===false&&e.keyCode===13){_this.loginEDU();console.log(1);}};_this.getloginurl=function(url){window.location.href=url;};_this.openweixinlogin=function(){_this.setState({weixinlogin:true});};_this.openNotifications=function(btn){// type 1 成功提示绿色 2提醒颜色黄色 3错误提示红色 +__WEBPACK_IMPORTED_MODULE_1_antd_lib_notification___default.a.open({message:"提示",description:btn,duration:5,onClick:function onClick(){}});};_this.openqqlogin=function(){_this.setState({qqlogin:true});//window.location.href=`https://graph.qq.com/oauth2.0/show?which=Login&display=pc&client_id=101508858&redirect_uri=https%3a%2f%2f${window.location.host}%2otherloginqq&response_type=code` +window.location.href='https://graph.qq.com/oauth2.0/show?which=Login&display=pc&client_id=101508858&redirect_uri=https%3a%2f%2fwww.educoder.net%2fotherloginqq&state=null,'+window.location.host+'&response_type=code';// window.location.href=`https://graph.qq.com/oauth2.0/show?which=Login&display=pc&client_id=101508858&redirect_uri=https%3a%2f%2fwww.educoder.net%2fotherloginstart&tp=qq&response_type=code` +};_this.openphoneqqlogin=function(){window.open('https://xui.ptlogin2.qq.com/cgi-bin/xlogin?appid=716027609&pt_3rd_aid=101508858&daid=383&pt_skey_valid=0&style=35&s_url=http%3A%2F%2Fconnect.qq.com&refer_cgi=authorize&which=&client_id=101508858&response_type=code&scope=get_user_info&redirect_uri=https%3a%2f%2fwww.educoder.net%2fotherloginqq&state=null,'+window.location.host+'&response_type=code');};_this.getTContainer=function(){return document.body;};_this.hideweixinlogin=function(){_this.setState({weixinlogin:false,qqlogin:false});};_this.state={open:true,login:0,speedy:1,regular:0,loginValue:'',passValue:'',isGoing:true,isGoingValue:1,disabled:true,bottonclass:'log-botton mt5',dialogBox:'dialogBox',shortcutValue:'',shortcutnum:1,disabledType:true,gaincode:'gain-code',authCodeType:true,authCodeclass:'log-botton mt5',isRender:false,MyEduCoderModals:false,Phonenumberisnotco:undefined,Phonenumberisnotcobool:false,weixinlogin:false,qqlogin:false};return _this;}// 输入页面 +//邮箱手机号验证 +// 快捷注册 +_createClass(LoginDialog,[{key:'componentWillReceiveProps',value:function componentWillReceiveProps(nextProps){this.setState({isRender:nextProps.isRender});// console.log(nextProps.isRender); +}},{key:'componentDidMount',value:function componentDidMount(){var _this2=this;var flag=this.IsPC();//true为PC端,false为手机端 +this.setState({isphone:flag});if(this.props.isRender!=undefined){this.setState({isRender:this.props.isRender});}// $(document).on("showLoginDialog", (e, args)=>{ +// this.setState({ +// isRender: true +// }) +// }) +this.dragWrapper();__WEBPACK_IMPORTED_MODULE_5_axios___default.a.interceptors.response.use(function(response){if(response!=undefined)if(response&&response.data.status===401){document.title="提示";_this2.setState({isRender:true});}return response;},function(error){// // if (error.response && error.response.data.error === '401 Unauthorized') { +// // this.back_url = window.location.href; +// // this.setState({ +// // isRender: true +// // }) +// // // TODO 这里如果样式变了会出现css不加载的情况 +// // const $ = window.$; +// // const isCssLoaded = window.getComputedStyle($('.log_nav li.active')[0], null) +// // .getPropertyValue('border-bottom') +// // == "2px solid rgb(69, 155, 229)" +// // if (!isCssLoaded) { +// // const isPort3007 = window.location.port == 3007; +// // let _url_origin = isPort3007 ? 'http://localhost:3000' : '' +// // +// // $('head').append( $('') +// // .attr('href', `${_url_origin}/stylesheets/educoder/edu-main.css`) ); +// // $('head').append( $('') +// // .attr('href', `${_url_origin}/stylesheets/educoder/edu-all.css`) ); +// // } +// // } +// // return Promise.reject(error); +});}},{key:'render',value:function render(){var _this3=this;var _state=this.state,qqlogin=_state.qqlogin,login=_state.login,isGoing=_state.isGoing,isGoingValue=_state.isGoingValue,disabled=_state.disabled,bottonclass=_state.bottonclass,Phonenumberisnotco=_state.Phonenumberisnotco,dialogBox=_state.dialogBox,isRender=_state.isRender,weixinlogin=_state.weixinlogin;if(isRender===undefined){isRender=false;}return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_material_ui_Dialog___default.a,{open:true,id:'DialogID',className:'zindextest',style:{display:isRender==false?'none':''},disableEscapeKeyDown:true,disableBackdropClick:true,onClose:function onClose(){return _this3.handleDialogClose();}},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8__user_Notcompletedysl__["a" /* default */],{modalsType:this.state.MyEduCoderModals,setNotcompleteds:function setNotcompleteds(){_this3.setNotcompleteds();}}),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('style',null,'\n\t\t\t\t\t\t #DialogID .dialogBox {\n\t\t\t\t\t\t\t\t\twidth: 405px !important;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t.dialogBox {\n\t\t\t\t\t\t\t\t\theight: 290px !important;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t'),isRender===true?__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',{className:dialogBox},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',{id:'closeIcon',className:"logincloseIcon",onClick:function onClick(){_this3.handleDialogClose();}},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('i',{className:'iconfont icon-shanchudiao'})),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',{id:'log_reg_content'},weixinlogin===true?"":__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('ul',{className:'log_nav clearfix'},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('li',{className:login==0?'active':'',onClick:function onClick(){_this3.enter(0);}},'\u767B\u5F55')),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',{className:'login-panel',id:'login-panel-1',style:{display:login==0?'block':'none'}},weixinlogin===true?"":__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('form',{acceptCharset:'UTF-8',action:'/login',id:'main_login_form',method:'post'},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',{style:{"display":"inline","padding":"0","margin":"0"}},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('input',{name:'utf8',type:'hidden',value:'\u2713'}),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('input',{name:'authenticity_token',type:'hidden',value:'NVLiIlHZfhVBQtO9djnWncJqqdikNQIIxEmOvzK9vNM='})),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('input',{name:'back_url',type:'hidden',value:this.back_url}),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('input',{type:'text',className:'input-100-45 mt20',id:'name_loggin_input',ref:'loginPassText',onInput:this.loginChange,onBlur:function onBlur(e){return _this3.inputOnBlur(e,1);},onPressEnter:disabled===false?this.loginEDU:function(){}// console.log(1) +,value:this.state.loginValue,name:'username',placeholder:'\u8BF7\u8F93\u5165\u6709\u6548\u7684\u624B\u673A\u53F7/\u90AE\u7BB1\u53F7'}),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',{style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('p',{className:'color-orange edu-txt-left none',id:'username_error_notice',style:{display:Phonenumberisnotco===undefined?'none':'block'}},Phonenumberisnotco)),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',null,__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('input',{type:'password',id:'password_loggin_input',name:'password',ref:'passwordText',onInput:this.passwordChange,onKeyDown:this.onKeydowns,className:'input-100-45 mt5',onPressEnter:disabled===false?this.loginEDU:function(){}// console.log(1) +,placeholder:'\u5BC6\u7801'}),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',{style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('p',{className:'color-orange edu-txt-left none',id:'password_error_notice'},'\u8BF7\u8F93\u5165\u5BC6\u7801'))),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',{className:disabled===false?"bluebutton edu-back-blue":"bluebutton",onClick:disabled===false?this.loginEDU:function(){}// console.log(1) +},'\u767B\u5F55'),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('p',{className:'clearfix mt20'},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('span',{className:'fl'},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('input',{type:'checkbox',className:'mr5 magic-checkbox',checked:isGoing,onChange:this.handleInputChange,value:isGoingValue,name:'isGoing',id:'p_autolog'}),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('label',{htmlFor:'p_autolog',style:{top:'0px'}},'\u4E0B\u6B21\u81EA\u52A8\u767B\u5F55')),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('span',{className:'fr'},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('a',{onClick:function onClick(url){return _this3.getloginurl("/changepassword");},className:'mr3 color-grey-9'},'\u627E\u56DE\u5BC6\u7801'),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('em',{className:'vertical-line'}),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('a',{onClick:function onClick(url){return _this3.getloginurl("/register");},className:'color-grey-9'},'\u6CE8\u518C'))),this.props.user&&this.props.user.main_site===true?this.state.isphone===true?__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('p',{className:'clearfix mt20'},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('span',{className:"startlogin"},'\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 \u5FEB\u901F\u767B\u5F55 \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014'),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',{className:"mt10"},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('a',{onClick:function onClick(){return _this3.openweixinlogin();}},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('img',{src:__webpack_require__(776),alt:'\u5FAE\u4FE1\u767B\u5F55'})),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('a',{onClick:function onClick(){return _this3.openqqlogin();},className:"ml10"},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('img',{src:__webpack_require__(299),alt:'qq\u767B\u5F55'})))):__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('p',{className:'clearfix mt20'},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('span',{className:"startlogin"},'\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 \u5FEB\u901F\u767B\u5F55 \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014'),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('div',{className:"mt10"},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('a',{onClick:function onClick(){return _this3.openphoneqqlogin();},className:"ml10"},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('img',{src:__webpack_require__(299),alt:'qq\u767B\u5F55'})))):""),weixinlogin===true?__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('iframe',{className:"weixinheight390",frameBorder:'0',sandbox:'allow-scripts allow-same-origin allow-top-navigation',scrolling:'no',src:'https://open.weixin.qq.com/connect/qrconnect?appid=wx6b119e2d829c13fa&redirect_uri=https%3a%2f%2fwww.educoder.net%2fotherloginstart&response_type=code&scope=snsapi_login&state=null,'+window.location.host+'#wechat_redirect'}):"",weixinlogin===true?__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('p',{className:'clearfix '},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('a',{className:"startlogin color-blue",onClick:function onClick(){return _this3.hideweixinlogin();}},'\u8FD4\u56DE\u8D26\u53F7\u767B\u5F55')):""))):"");}}]);return LoginDialog;}(__WEBPACK_IMPORTED_MODULE_2_react__["Component"]);/* harmony default export */ __webpack_exports__["a"] = (LoginDialog); + +/***/ }), +/* 122 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_defineProperty__ = __webpack_require__(59); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_defineProperty___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_defineProperty__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass__ = __webpack_require__(31); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(10); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits__ = __webpack_require__(11); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_prop_types__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__ = __webpack_require__(486); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__AnimateChild__ = __webpack_require__(487); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__util_animate__ = __webpack_require__(246); + + + + + + + + + + + + +var defaultKey = 'rc_animate_' + Date.now(); + +function getChildrenFromProps(props) { + var children = props.children; + if (__WEBPACK_IMPORTED_MODULE_6_react___default.a.isValidElement(children)) { + if (!children.key) { + return __WEBPACK_IMPORTED_MODULE_6_react___default.a.cloneElement(children, { + key: defaultKey + }); + } + } + return children; +} + +function noop() {} + +var Animate = function (_React$Component) { + __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits___default()(Animate, _React$Component); + + // eslint-disable-line + + function Animate(props) { + __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, Animate); + + var _this = __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn___default()(this, (Animate.__proto__ || Object.getPrototypeOf(Animate)).call(this, props)); + + _initialiseProps.call(_this); + + _this.currentlyAnimatingKeys = {}; + _this.keysToEnter = []; + _this.keysToLeave = []; + + _this.state = { + children: Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["e" /* toArrayChildren */])(getChildrenFromProps(props)) + }; + + _this.childrenRefs = {}; + return _this; + } + + __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_createClass___default()(Animate, [{ + key: 'componentDidMount', + value: function componentDidMount() { + var _this2 = this; + + var showProp = this.props.showProp; + var children = this.state.children; + if (showProp) { + children = children.filter(function (child) { + return !!child.props[showProp]; + }); + } + children.forEach(function (child) { + if (child) { + _this2.performAppear(child.key); + } + }); + } + }, { + key: 'componentWillReceiveProps', + value: function componentWillReceiveProps(nextProps) { + var _this3 = this; + + this.nextProps = nextProps; + var nextChildren = Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["e" /* toArrayChildren */])(getChildrenFromProps(nextProps)); + var props = this.props; + // exclusive needs immediate response + if (props.exclusive) { + Object.keys(this.currentlyAnimatingKeys).forEach(function (key) { + _this3.stop(key); + }); + } + var showProp = props.showProp; + var currentlyAnimatingKeys = this.currentlyAnimatingKeys; + // last props children if exclusive + var currentChildren = props.exclusive ? Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["e" /* toArrayChildren */])(getChildrenFromProps(props)) : this.state.children; + // in case destroy in showProp mode + var newChildren = []; + if (showProp) { + currentChildren.forEach(function (currentChild) { + var nextChild = currentChild && Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["a" /* findChildInChildrenByKey */])(nextChildren, currentChild.key); + var newChild = void 0; + if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) { + newChild = __WEBPACK_IMPORTED_MODULE_6_react___default.a.cloneElement(nextChild || currentChild, __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_defineProperty___default()({}, showProp, true)); + } else { + newChild = nextChild; + } + if (newChild) { + newChildren.push(newChild); + } + }); + nextChildren.forEach(function (nextChild) { + if (!nextChild || !Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["a" /* findChildInChildrenByKey */])(currentChildren, nextChild.key)) { + newChildren.push(nextChild); + } + }); + } else { + newChildren = Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["d" /* mergeChildren */])(currentChildren, nextChildren); + } + + // need render to avoid update + this.setState({ + children: newChildren + }); + + nextChildren.forEach(function (child) { + var key = child && child.key; + if (child && currentlyAnimatingKeys[key]) { + return; + } + var hasPrev = child && Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["a" /* findChildInChildrenByKey */])(currentChildren, key); + if (showProp) { + var showInNext = child.props[showProp]; + if (hasPrev) { + var showInNow = Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["b" /* findShownChildInChildrenByKey */])(currentChildren, key, showProp); + if (!showInNow && showInNext) { + _this3.keysToEnter.push(key); + } + } else if (showInNext) { + _this3.keysToEnter.push(key); + } + } else if (!hasPrev) { + _this3.keysToEnter.push(key); + } + }); + + currentChildren.forEach(function (child) { + var key = child && child.key; + if (child && currentlyAnimatingKeys[key]) { + return; + } + var hasNext = child && Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["a" /* findChildInChildrenByKey */])(nextChildren, key); + if (showProp) { + var showInNow = child.props[showProp]; + if (hasNext) { + var showInNext = Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["b" /* findShownChildInChildrenByKey */])(nextChildren, key, showProp); + if (!showInNext && showInNow) { + _this3.keysToLeave.push(key); + } + } else if (showInNow) { + _this3.keysToLeave.push(key); + } + } else if (!hasNext) { + _this3.keysToLeave.push(key); + } + }); + } + }, { + key: 'componentDidUpdate', + value: function componentDidUpdate() { + var keysToEnter = this.keysToEnter; + this.keysToEnter = []; + keysToEnter.forEach(this.performEnter); + var keysToLeave = this.keysToLeave; + this.keysToLeave = []; + keysToLeave.forEach(this.performLeave); + } + }, { + key: 'isValidChildByKey', + value: function isValidChildByKey(currentChildren, key) { + var showProp = this.props.showProp; + if (showProp) { + return Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["b" /* findShownChildInChildrenByKey */])(currentChildren, key, showProp); + } + return Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["a" /* findChildInChildrenByKey */])(currentChildren, key); + } + }, { + key: 'stop', + value: function stop(key) { + delete this.currentlyAnimatingKeys[key]; + var component = this.childrenRefs[key]; + if (component) { + component.stop(); + } + } + }, { + key: 'render', + value: function render() { + var _this4 = this; + + var props = this.props; + this.nextProps = props; + var stateChildren = this.state.children; + var children = null; + if (stateChildren) { + children = stateChildren.map(function (child) { + if (child === null || child === undefined) { + return child; + } + if (!child.key) { + throw new Error('must set key for children'); + } + return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement( + __WEBPACK_IMPORTED_MODULE_9__AnimateChild__["a" /* default */], + { + key: child.key, + ref: function ref(node) { + _this4.childrenRefs[child.key] = node; + }, + animation: props.animation, + transitionName: props.transitionName, + transitionEnter: props.transitionEnter, + transitionAppear: props.transitionAppear, + transitionLeave: props.transitionLeave + }, + child + ); + }); + } + var Component = props.component; + if (Component) { + var passedProps = props; + if (typeof Component === 'string') { + passedProps = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({ + className: props.className, + style: props.style + }, props.componentProps); + } + return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement( + Component, + passedProps, + children + ); + } + return children[0] || null; + } + }]); + + return Animate; +}(__WEBPACK_IMPORTED_MODULE_6_react___default.a.Component); + +Animate.isAnimate = true; +Animate.propTypes = { + component: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.any, + componentProps: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object, + animation: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object, + transitionName: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object]), + transitionEnter: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool, + transitionAppear: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool, + exclusive: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool, + transitionLeave: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool, + onEnd: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func, + onEnter: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func, + onLeave: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func, + onAppear: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func, + showProp: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string, + children: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.node +}; +Animate.defaultProps = { + animation: {}, + component: 'span', + componentProps: {}, + transitionEnter: true, + transitionLeave: true, + transitionAppear: false, + onEnd: noop, + onEnter: noop, + onLeave: noop, + onAppear: noop +}; + +var _initialiseProps = function _initialiseProps() { + var _this5 = this; + + this.performEnter = function (key) { + // may already remove by exclusive + if (_this5.childrenRefs[key]) { + _this5.currentlyAnimatingKeys[key] = true; + _this5.childrenRefs[key].componentWillEnter(_this5.handleDoneAdding.bind(_this5, key, 'enter')); + } + }; + + this.performAppear = function (key) { + if (_this5.childrenRefs[key]) { + _this5.currentlyAnimatingKeys[key] = true; + _this5.childrenRefs[key].componentWillAppear(_this5.handleDoneAdding.bind(_this5, key, 'appear')); + } + }; + + this.handleDoneAdding = function (key, type) { + var props = _this5.props; + delete _this5.currentlyAnimatingKeys[key]; + // if update on exclusive mode, skip check + if (props.exclusive && props !== _this5.nextProps) { + return; + } + var currentChildren = Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["e" /* toArrayChildren */])(getChildrenFromProps(props)); + if (!_this5.isValidChildByKey(currentChildren, key)) { + // exclusive will not need this + _this5.performLeave(key); + } else if (type === 'appear') { + if (__WEBPACK_IMPORTED_MODULE_10__util_animate__["a" /* default */].allowAppearCallback(props)) { + props.onAppear(key); + props.onEnd(key, true); + } + } else if (__WEBPACK_IMPORTED_MODULE_10__util_animate__["a" /* default */].allowEnterCallback(props)) { + props.onEnter(key); + props.onEnd(key, true); + } + }; + + this.performLeave = function (key) { + // may already remove by exclusive + if (_this5.childrenRefs[key]) { + _this5.currentlyAnimatingKeys[key] = true; + _this5.childrenRefs[key].componentWillLeave(_this5.handleDoneLeaving.bind(_this5, key)); + } + }; + + this.handleDoneLeaving = function (key) { + var props = _this5.props; + delete _this5.currentlyAnimatingKeys[key]; + // if update on exclusive mode, skip check + if (props.exclusive && props !== _this5.nextProps) { + return; + } + var currentChildren = Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["e" /* toArrayChildren */])(getChildrenFromProps(props)); + // in case state change is too fast + if (_this5.isValidChildByKey(currentChildren, key)) { + _this5.performEnter(key); + } else { + var end = function end() { + if (__WEBPACK_IMPORTED_MODULE_10__util_animate__["a" /* default */].allowLeaveCallback(props)) { + props.onLeave(key); + props.onEnd(key, false); + } + }; + if (!Object(__WEBPACK_IMPORTED_MODULE_8__ChildrenUtils__["c" /* isSameChildren */])(_this5.state.children, currentChildren, props.showProp)) { + _this5.setState({ + children: currentChildren + }, end); + } else { + end(); + } + } + }; +}; + +/* harmony default export */ __webpack_exports__["a"] = (Animate); + +/***/ }), +/* 123 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _interopRequireDefault = __webpack_require__(2); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _ownerDocument = _interopRequireDefault(__webpack_require__(42)); + +var ownerWindow = function ownerWindow(node) { + var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window; + var doc = (0, _ownerDocument.default)(node); + return doc.defaultView || doc.parentView || fallback; +}; + +var _default = ownerWindow; +exports.default = _default; + +/***/ }), +/* 124 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _interopRequireDefault = __webpack_require__(2); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _extends2 = _interopRequireDefault(__webpack_require__(8)); + +var _objectSpread2 = _interopRequireDefault(__webpack_require__(25)); + +var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(6)); + +var _getPrototypeOf = _interopRequireDefault(__webpack_require__(21)); + +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(16)); + +var _createClass2 = _interopRequireDefault(__webpack_require__(17)); + +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22)); + +var _inherits2 = _interopRequireDefault(__webpack_require__(23)); + +var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(24)); + +var _react = _interopRequireDefault(__webpack_require__(0)); + +var _propTypes = _interopRequireDefault(__webpack_require__(1)); + +var _Transition = _interopRequireDefault(__webpack_require__(125)); + +var _transitions = __webpack_require__(79); + +var _withTheme = _interopRequireDefault(__webpack_require__(94)); + +var _utils = __webpack_require__(207); + +// @inheritedComponent Transition +var styles = { + entering: { + opacity: 1 + }, + entered: { + opacity: 1 + } +}; +/** + * The Fade transition is used by the [Modal](/utils/modals) component. + * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally. + */ + +var Fade = +/*#__PURE__*/ +function (_React$Component) { + (0, _inherits2.default)(Fade, _React$Component); + + function Fade() { + var _ref; + + var _temp, _this; + + (0, _classCallCheck2.default)(this, Fade); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Fade.__proto__ || (0, _getPrototypeOf.default)(Fade)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), "handleEnter", { + configurable: true, + enumerable: true, + writable: true, + value: function value(node) { + var theme = _this.props.theme; + (0, _utils.reflow)(node); // So the animation always start from the start. + + var transitionProps = (0, _utils.getTransitionProps)(_this.props, { + mode: 'enter' + }); + node.style.webkitTransition = theme.transitions.create('opacity', transitionProps); + node.style.transition = theme.transitions.create('opacity', transitionProps); + + if (_this.props.onEnter) { + _this.props.onEnter(node); + } + } + }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), "handleExit", { + configurable: true, + enumerable: true, + writable: true, + value: function value(node) { + var theme = _this.props.theme; + var transitionProps = (0, _utils.getTransitionProps)(_this.props, { + mode: 'exit' + }); + node.style.webkitTransition = theme.transitions.create('opacity', transitionProps); + node.style.transition = theme.transitions.create('opacity', transitionProps); + + if (_this.props.onExit) { + _this.props.onExit(node); + } + } + }), _temp)); + } + + (0, _createClass2.default)(Fade, [{ + key: "render", + value: function render() { + var _props = this.props, + children = _props.children, + onEnter = _props.onEnter, + onExit = _props.onExit, + styleProp = _props.style, + theme = _props.theme, + other = (0, _objectWithoutProperties2.default)(_props, ["children", "onEnter", "onExit", "style", "theme"]); + var style = (0, _objectSpread2.default)({}, styleProp, _react.default.isValidElement(children) ? children.props.style : {}); + return _react.default.createElement(_Transition.default, (0, _extends2.default)({ + appear: true, + onEnter: this.handleEnter, + onExit: this.handleExit + }, other), function (state, childProps) { + return _react.default.cloneElement(children, (0, _objectSpread2.default)({ + style: (0, _objectSpread2.default)({ + opacity: 0, + willChange: 'opacity' + }, styles[state], style) + }, childProps)); + }); + } + }]); + return Fade; +}(_react.default.Component); + +Fade.propTypes = false ? { + /** + * A single child content element. + */ + children: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]), + + /** + * If `true`, the component will transition in. + */ + in: _propTypes.default.bool, + + /** + * @ignore + */ + onEnter: _propTypes.default.func, + + /** + * @ignore + */ + onExit: _propTypes.default.func, + + /** + * @ignore + */ + style: _propTypes.default.object, + + /** + * @ignore + */ + theme: _propTypes.default.object.isRequired, + + /** + * The duration for the transition, in milliseconds. + * You may specify a single timeout for all transitions, or individually with an object. + */ + timeout: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({ + enter: _propTypes.default.number, + exit: _propTypes.default.number + })]) +} : {}; +Fade.defaultProps = { + timeout: { + enter: _transitions.duration.enteringScreen, + exit: _transitions.duration.leavingScreen + } +}; + +var _default = (0, _withTheme.default)()(Fade); + +exports.default = _default; + +/***/ }), +/* 125 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; +exports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0; + +var PropTypes = _interopRequireWildcard(__webpack_require__(1)); + +var _react = _interopRequireDefault(__webpack_require__(0)); + +var _reactDom = _interopRequireDefault(__webpack_require__(4)); + +var _reactLifecyclesCompat = __webpack_require__(7); + +var _PropTypes = __webpack_require__(588); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } + +var UNMOUNTED = 'unmounted'; +exports.UNMOUNTED = UNMOUNTED; +var EXITED = 'exited'; +exports.EXITED = EXITED; +var ENTERING = 'entering'; +exports.ENTERING = ENTERING; +var ENTERED = 'entered'; +exports.ENTERED = ENTERED; +var EXITING = 'exiting'; +/** + * The Transition component lets you describe a transition from one component + * state to another _over time_ with a simple declarative API. Most commonly + * it's used to animate the mounting and unmounting of a component, but can also + * be used to describe in-place transition states as well. + * + * --- + * + * **Note**: `Transition` is a platform-agnostic base component. If you're using + * transitions in CSS, you'll probably want to use + * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition) + * instead. It inherits all the features of `Transition`, but contains + * additional features necessary to play nice with CSS transitions (hence the + * name of the component). + * + * --- + * + * By default the `Transition` component does not alter the behavior of the + * component it renders, it only tracks "enter" and "exit" states for the + * components. It's up to you to give meaning and effect to those states. For + * example we can add styles to a component when it enters or exits: + * + * ```jsx + * import { Transition } from 'react-transition-group'; + * + * const duration = 300; + * + * const defaultStyle = { + * transition: `opacity ${duration}ms ease-in-out`, + * opacity: 0, + * } + * + * const transitionStyles = { + * entering: { opacity: 0 }, + * entered: { opacity: 1 }, + * }; + * + * const Fade = ({ in: inProp }) => ( + * + * {state => ( + *
+ * I'm a fade Transition! + *
+ * )} + *
+ * ); + * ``` + * + * There are 4 main states a Transition can be in: + * - `'entering'` + * - `'entered'` + * - `'exiting'` + * - `'exited'` + * + * Transition state is toggled via the `in` prop. When `true` the component + * begins the "Enter" stage. During this stage, the component will shift from + * its current transition state, to `'entering'` for the duration of the + * transition and then to the `'entered'` stage once it's complete. Let's take + * the following example (we'll use the + * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook): + * + * ```jsx + * function App() { + * const [inProp, setInProp] = useState(false); + * return ( + *
+ * + * {state => ( + * // ... + * )} + * + * + *
+ * ); + * } + * ``` + * + * When the button is clicked the component will shift to the `'entering'` state + * and stay there for 500ms (the value of `timeout`) before it finally switches + * to `'entered'`. + * + * When `in` is `false` the same thing happens except the state moves from + * `'exiting'` to `'exited'`. + */ + +exports.EXITING = EXITING; + +var Transition = +/*#__PURE__*/ +function (_React$Component) { + _inheritsLoose(Transition, _React$Component); + + function Transition(props, context) { + var _this; + + _this = _React$Component.call(this, props, context) || this; + var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears + + var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear; + var initialStatus; + _this.appearStatus = null; + + if (props.in) { + if (appear) { + initialStatus = EXITED; + _this.appearStatus = ENTERING; + } else { + initialStatus = ENTERED; + } + } else { + if (props.unmountOnExit || props.mountOnEnter) { + initialStatus = UNMOUNTED; + } else { + initialStatus = EXITED; + } + } + + _this.state = { + status: initialStatus + }; + _this.nextCallback = null; + return _this; + } + + var _proto = Transition.prototype; + + _proto.getChildContext = function getChildContext() { + return { + transitionGroup: null // allows for nested Transitions + + }; + }; + + Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) { + var nextIn = _ref.in; + + if (nextIn && prevState.status === UNMOUNTED) { + return { + status: EXITED + }; + } + + return null; + }; // getSnapshotBeforeUpdate(prevProps) { + // let nextStatus = null + // if (prevProps !== this.props) { + // const { status } = this.state + // if (this.props.in) { + // if (status !== ENTERING && status !== ENTERED) { + // nextStatus = ENTERING + // } + // } else { + // if (status === ENTERING || status === ENTERED) { + // nextStatus = EXITING + // } + // } + // } + // return { nextStatus } + // } + + + _proto.componentDidMount = function componentDidMount() { + this.updateStatus(true, this.appearStatus); + }; + + _proto.componentDidUpdate = function componentDidUpdate(prevProps) { + var nextStatus = null; + + if (prevProps !== this.props) { + var status = this.state.status; + + if (this.props.in) { + if (status !== ENTERING && status !== ENTERED) { + nextStatus = ENTERING; + } + } else { + if (status === ENTERING || status === ENTERED) { + nextStatus = EXITING; + } + } + } + + this.updateStatus(false, nextStatus); + }; + + _proto.componentWillUnmount = function componentWillUnmount() { + this.cancelNextCallback(); + }; + + _proto.getTimeouts = function getTimeouts() { + var timeout = this.props.timeout; + var exit, enter, appear; + exit = enter = appear = timeout; + + if (timeout != null && typeof timeout !== 'number') { + exit = timeout.exit; + enter = timeout.enter; // TODO: remove fallback for next major + + appear = timeout.appear !== undefined ? timeout.appear : enter; + } + + return { + exit: exit, + enter: enter, + appear: appear + }; + }; + + _proto.updateStatus = function updateStatus(mounting, nextStatus) { + if (mounting === void 0) { + mounting = false; + } + + if (nextStatus !== null) { + // nextStatus will always be ENTERING or EXITING. + this.cancelNextCallback(); + + var node = _reactDom.default.findDOMNode(this); + + if (nextStatus === ENTERING) { + this.performEnter(node, mounting); + } else { + this.performExit(node); + } + } else if (this.props.unmountOnExit && this.state.status === EXITED) { + this.setState({ + status: UNMOUNTED + }); + } + }; + + _proto.performEnter = function performEnter(node, mounting) { + var _this2 = this; + + var enter = this.props.enter; + var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting; + var timeouts = this.getTimeouts(); + var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED + // if we are mounting and running this it means appear _must_ be set + + if (!mounting && !enter) { + this.safeSetState({ + status: ENTERED + }, function () { + _this2.props.onEntered(node); + }); + return; + } + + this.props.onEnter(node, appearing); + this.safeSetState({ + status: ENTERING + }, function () { + _this2.props.onEntering(node, appearing); + + _this2.onTransitionEnd(node, enterTimeout, function () { + _this2.safeSetState({ + status: ENTERED + }, function () { + _this2.props.onEntered(node, appearing); + }); + }); + }); + }; + + _proto.performExit = function performExit(node) { + var _this3 = this; + + var exit = this.props.exit; + var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED + + if (!exit) { + this.safeSetState({ + status: EXITED + }, function () { + _this3.props.onExited(node); + }); + return; + } + + this.props.onExit(node); + this.safeSetState({ + status: EXITING + }, function () { + _this3.props.onExiting(node); + + _this3.onTransitionEnd(node, timeouts.exit, function () { + _this3.safeSetState({ + status: EXITED + }, function () { + _this3.props.onExited(node); + }); + }); + }); + }; + + _proto.cancelNextCallback = function cancelNextCallback() { + if (this.nextCallback !== null) { + this.nextCallback.cancel(); + this.nextCallback = null; + } + }; + + _proto.safeSetState = function safeSetState(nextState, callback) { + // This shouldn't be necessary, but there are weird race conditions with + // setState callbacks and unmounting in testing, so always make sure that + // we can cancel any pending setState callbacks after we unmount. + callback = this.setNextCallback(callback); + this.setState(nextState, callback); + }; + + _proto.setNextCallback = function setNextCallback(callback) { + var _this4 = this; + + var active = true; + + this.nextCallback = function (event) { + if (active) { + active = false; + _this4.nextCallback = null; + callback(event); + } + }; + + this.nextCallback.cancel = function () { + active = false; + }; + + return this.nextCallback; + }; + + _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) { + this.setNextCallback(handler); + var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener; + + if (!node || doesNotHaveTimeoutOrListener) { + setTimeout(this.nextCallback, 0); + return; + } + + if (this.props.addEndListener) { + this.props.addEndListener(node, this.nextCallback); + } + + if (timeout != null) { + setTimeout(this.nextCallback, timeout); + } + }; + + _proto.render = function render() { + var status = this.state.status; + + if (status === UNMOUNTED) { + return null; + } + + var _this$props = this.props, + children = _this$props.children, + childProps = _objectWithoutPropertiesLoose(_this$props, ["children"]); // filter props for Transtition + + + delete childProps.in; + delete childProps.mountOnEnter; + delete childProps.unmountOnExit; + delete childProps.appear; + delete childProps.enter; + delete childProps.exit; + delete childProps.timeout; + delete childProps.addEndListener; + delete childProps.onEnter; + delete childProps.onEntering; + delete childProps.onEntered; + delete childProps.onExit; + delete childProps.onExiting; + delete childProps.onExited; + + if (typeof children === 'function') { + return children(status, childProps); + } + + var child = _react.default.Children.only(children); + + return _react.default.cloneElement(child, childProps); + }; + + return Transition; +}(_react.default.Component); + +Transition.contextTypes = { + transitionGroup: PropTypes.object +}; +Transition.childContextTypes = { + transitionGroup: function transitionGroup() {} +}; +Transition.propTypes = false ? { + /** + * A `function` child can be used instead of a React element. This function is + * called with the current transition status (`'entering'`, `'entered'`, + * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context + * specific props to a component. + * + * ```jsx + * + * {state => ( + * + * )} + * + * ``` + */ + children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired, + + /** + * Show the component; triggers the enter or exit states + */ + in: PropTypes.bool, + + /** + * By default the child component is mounted immediately along with + * the parent `Transition` component. If you want to "lazy mount" the component on the + * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay + * mounted, even on "exited", unless you also specify `unmountOnExit`. + */ + mountOnEnter: PropTypes.bool, + + /** + * By default the child component stays mounted after it reaches the `'exited'` state. + * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting. + */ + unmountOnExit: PropTypes.bool, + + /** + * Normally a component is not transitioned if it is shown when the `` component mounts. + * If you want to transition on the first mount set `appear` to `true`, and the + * component will transition in as soon as the `` mounts. + * + * > Note: there are no specific "appear" states. `appear` only adds an additional `enter` transition. + */ + appear: PropTypes.bool, + + /** + * Enable or disable enter transitions. + */ + enter: PropTypes.bool, + + /** + * Enable or disable exit transitions. + */ + exit: PropTypes.bool, + + /** + * The duration of the transition, in milliseconds. + * Required unless `addEndListener` is provided. + * + * You may specify a single timeout for all transitions: + * + * ```jsx + * timeout={500} + * ``` + * + * or individually: + * + * ```jsx + * timeout={{ + * appear: 500, + * enter: 300, + * exit: 500, + * }} + * ``` + * + * - `appear` defaults to the value of `enter` + * - `enter` defaults to `0` + * - `exit` defaults to `0` + * + * @type {number | { enter?: number, exit?: number, appear?: number }} + */ + timeout: function timeout(props) { + var pt = _PropTypes.timeoutsShape; + if (!props.addEndListener) pt = pt.isRequired; + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return pt.apply(void 0, [props].concat(args)); + }, + + /** + * Add a custom transition end trigger. Called with the transitioning + * DOM node and a `done` callback. Allows for more fine grained transition end + * logic. **Note:** Timeouts are still used as a fallback if provided. + * + * ```jsx + * addEndListener={(node, done) => { + * // use the css transitionend event to mark the finish of a transition + * node.addEventListener('transitionend', done, false); + * }} + * ``` + */ + addEndListener: PropTypes.func, + + /** + * Callback fired before the "entering" status is applied. An extra parameter + * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount + * + * @type Function(node: HtmlElement, isAppearing: bool) -> void + */ + onEnter: PropTypes.func, + + /** + * Callback fired after the "entering" status is applied. An extra parameter + * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount + * + * @type Function(node: HtmlElement, isAppearing: bool) + */ + onEntering: PropTypes.func, + + /** + * Callback fired after the "entered" status is applied. An extra parameter + * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount + * + * @type Function(node: HtmlElement, isAppearing: bool) -> void + */ + onEntered: PropTypes.func, + + /** + * Callback fired before the "exiting" status is applied. + * + * @type Function(node: HtmlElement) -> void + */ + onExit: PropTypes.func, + + /** + * Callback fired after the "exiting" status is applied. + * + * @type Function(node: HtmlElement) -> void + */ + onExiting: PropTypes.func, + + /** + * Callback fired after the "exited" status is applied. + * + * @type Function(node: HtmlElement) -> void + */ + onExited: PropTypes.func // Name the function so it is clearer in the documentation + +} : {}; + +function noop() {} + +Transition.defaultProps = { + in: false, + mountOnEnter: false, + unmountOnExit: false, + appear: false, + enter: true, + exit: true, + onEnter: noop, + onEntering: noop, + onEntered: noop, + onExit: noop, + onExiting: noop, + onExited: noop +}; +Transition.UNMOUNTED = 0; +Transition.EXITED = 1; +Transition.ENTERING = 2; +Transition.ENTERED = 3; +Transition.EXITING = 4; + +var _default = (0, _reactLifecyclesCompat.polyfill)(Transition); + +exports.default = _default; + +/***/ }), +/* 126 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_button_style_css__ = __webpack_require__(87); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_button_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_antd_lib_button_style_css__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_button__ = __webpack_require__(74); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_antd_lib_button__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_antd_lib_input_style_css__ = __webpack_require__(68); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_antd_lib_input_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_antd_lib_input_style_css__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd_lib_input__ = __webpack_require__(69); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd_lib_input___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_antd_lib_input__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_antd_lib_notification_style_css__ = __webpack_require__(45); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_antd_lib_notification_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_antd_lib_notification_style_css__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_antd_lib_notification__ = __webpack_require__(46); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_antd_lib_notification___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_antd_lib_notification__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_router__ = __webpack_require__(61); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_material_ui_Dialog__ = __webpack_require__(112); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_material_ui_Dialog___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_material_ui_Dialog__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_axios__ = __webpack_require__(15); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_axios__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__LoginDialog_css__ = __webpack_require__(271); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__LoginDialog_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__LoginDialog_css__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_educoder__ = __webpack_require__(5); +var _createClass=function(){function defineProperties(target,props){for(var i=0;i