blob: 9da48a7c9c9e1d67245766fe080bb21b5348b91e [file] [log] [blame]
# git hyper-blame master ignore list.
#
# This file contains a list of git hashes of revisions to be ignored by git
# hyper-blame (in depot_tools). These revisions are considered "unimportant" in
# that they are unlikely to be what you are interested in when blaming.
#
# Instructions:
# - Only large (generally automated) reformatting or renaming CLs should be
# added to this list. Do not put things here just because you feel they are
# trivial or unimportant. If in doubt, do not put it on this list.
# - Precede each revision with a comment containing the first line of its log.
# - Only put full 40-character hashes on this list (not short hashes or any
# other revision reference).
# - Append to the bottom of the file (revisions should be in chronological order
# from oldest to newest).
# - Because you must use a hash, you need to append to this list in a follow-up
# CL to the actual reformatting CL that you are trying to ignore.
# This block of commits mechanically renamed scoped_ptr to std::unique_ptr and
# make_scoped_ptr to base::WrapUnique, throughout the codebase.
# Convert //android_webview to use std::unique_ptr
08daa0770adc348a5e3852200352b2cd7f620d21
# Convert //storage to use std::unique_ptr
c6378bdd46cb9fbeb4e7a0fbb37d820f8b82232d
# Convert //gin to use std::unique_ptr
c862da8ac734722d6928b64ae87564bf2ee0d2ae
# Convert //url to use std::unique_ptr
ea64f7caeafef5b77b656d03b4b8c4ec8edab4c0
# convert //rlz to std::unique_ptr
03c6cc125a0f63fcf549db5caa525ad5941fffd8
# convert //apps to std::unique_ptr
ecb4a22b939cdcd3e022ee2c452dd7f866d1dfb5
# convert //testing to std::unique_ptr
d1b5b043fcf499cf46d059f5bb72a6ab07f04d88
# convert //headless to std::unique_ptr
c3d183bef609f3c4dab124572281ba13257d37a6
# convert //chrome_elf to std::unique_ptr
1795070c67cd08f5c5437b4e0d3ae6e5d3e5fd13
# convert //mash to std::unique_ptr
1aaf50682f5b06bea8db36316dcddde48444b54e
# Convert //base to use std::unique_ptr
093de9b30c0ba6ded896506a297314e5ed818b89
# Convert media/mojo/ to use std::unique_ptr
f1bc82901463a76329b480e1ce55638d105f4616
# Convert //sandbox to use std::unique_ptr
d521b63cb0fe3d78ed64bbba2c4cfacfeb7ebfd3
# Convert //remoting to use std::unique_ptr
0765c49ae6fb26c49c98bf9205d690174de3c0e4
# Convert //blimp to use std::unique_ptr
1b185c49a6f2e9eea0bac36132f79b8ce50f529a
# Convert //ppapi to use std::unique_ptr
ced9224fbb7866e6ea7e9da221c0b2570008bd55
# Convert //third_party/WebKit from scoped_ptr to std::unique_ptr
a37bedae9c23a82bf8b2f9011d06c9933e0048db
# Nuke WebPassOwnPtr<T> and replace it with std::unique_ptr<T>.
e0d99834d5d8f817c55828c1f53b4d0946b2d6df
# Convert //ios from scoped_ptr to std::unique_ptr.
942f39d75745824a53ef6ce896bb2462010476bb
# Convert //chrome/browser/download from scoped_ptr to std::unique_ptr
abbf4465acfdb9c8d6223c680b634f1fd506813e
# Convert //printing to use std::unique_ptr
c3df9bafc8db94bd613fbd76c61abe5057f7a82d
# Convert //chrome/browser/android from scoped_ptr to std::unique_ptr
aeceb05e862d97596a0e005a17a4f7d61183b818
# Convert //chrome/browser/chromeos from scoped_ptr to std::unique_ptr
24002d093cd0d2b540b0b1895d0044d44a30450d
# Convert //sync from scoped_ptr to std::unique_ptr
c3e80570c413b058d8f855a695610b38072d6519
# Convert //chrome/browser/profiles from scoped_ptr to std::unique_ptr
6e25ed32b8e7dca8352af477dbc82b67ac836736
# Convert //chrome/browser/extensions from scoped_ptr to std::unique_ptr
c963c714c99f34bd80b392d9896ca9cecd66fb6d
# Convert //chrome/browser/ui from scoped_ptr to std::unique_ptr
9603ab9714083051fc19942aa171d88af2cd379c
# Convert //chromecast from scoped_ptr to std::unique_ptr
3c3c93d549f8685459c9d938e81f1e68c888ad6c
# Convert //ash from scoped_ptr to std::unique_ptr
a9454747427889f70d14df4646f7f599d00df02d
# Convert //chrome/browser/sync_file_system from scoped_ptr to std::unique_ptr
566c3c55ebc5fa4600c3e6259938c3f9e1baf483
# Convert //google_apis from scoped_ptr to std::unique_ptr
f064cccace7bf4d940a494042754760f07e8164f
# Convert //chromeos from scoped_ptr to std::unique_ptr
0a6e80cc6b045cb1217a59ad3c9e764c36fb0260
# Convert //tools to use std::unique_ptr
a500b69aa06c2bc084a3b1867b9824f4218014de
# Convert crypto to std::unique_ptr
d1a1847163c0038284a7053b41ba0dedfad9b7b7
# Convert //dbus from scoped_ptr to std::unique_ptr
2a193281aac690b3fdfba1246d6b36877553a9be
# Convert //chrome/browser/media from scoped_ptr to std::unique_ptr
c16dc809e7c8026d8fad7d9169f324df7ab6b1ce
# Convert //content/renderer/media from scoped_ptr to std::unique_ptr
67e2c0a015fb2d2d2584a44b96da1620d2678bf5
# Convert //content/browser/renderer_host/media from scoped_ptr to std::unique_ptr
fd6a38135a1dd716d0f00a86900a03a931a697db
# Convert //content/browser/media from scoped_ptr to std::unique_ptr
3b4fe476046af664ea30dcfffb10956eeaba3b9e
# Convert //content/browser/loader from scoped_ptr to std::unique_ptr
40ce7b38f09de969a106da37e4dec11464da18c6
# Convert //content/child from scoped_ptr to std::unique_ptr
c864f52514c7e8cf9992a524e0294b1cc32c1db5
# Convert //content/browser/fileapi from scoped_ptr to std::unique_ptr
b4e18e45c933153b06833a33bf6352c5da38125a
# Convert //content/browser/download from scoped_ptr to std::unique_ptr
f6c40587bc9ee68ef8102992ea5c52cc8e0c6933
# Convert //cc from scoped_ptr to std::unique_ptr.
60bc3bcfa8b7141986c5e4b3c357c7e03393f230
# Convert //content/browser/frame_host from scoped_ptr to std::unique_ptr
9bfa516692718597507a3339a33dafdc7c2f00ba
# Convert //content/renderer from scoped_ptr to std::unique_ptr
cedca561f373a9f2d102e7bd896712b504b445db
# Convert //content/browser/service_worker from scoped_ptr to std::unique_ptr
86be9c00e6a13acad1851ddc64182a94347c9420
# Convert //content/browser/cache_storage from scoped_ptr to std::unique_ptr
92ae1414e686f8f8ba9c5c663b34552362641feb
# Convert //content/browser/indexed_db from scoped_ptr to std::unique_ptr
531cca917021e753d5215ddb194200be075944ac
# Convert //content/common from scoped_ptr to std::unique_ptr
4ac58c7a6c73f0972e73ce420749f886a8aec18c
# Convert //content/browser from scoped_ptr to std::unique_ptr
5971627d34ab2cca303e4a4552fecf2f019f61c6
# Convert //content from scoped_ptr to std::unique_ptr
6003e0b1ac1acb0a3973abbca62881d2b6acc0b1
# Convert device/bluetooth to std::unique_ptr
08c9d69b0c0d625d2ce38e3d8402f36e1226f0fc
# Change WebBlobRegistry::createBuilder to return a std::unique_ptr.
ae4a290306d308cd6c7187df85c1825edf3354db
# Convert device to std::unique_ptr
acd68a2e07af43fa67def3830555f294eff2ac8e
# Convert skia to std::unique_ptr
b743cc6790dd88fd5b53e4a21f089a38b40a53f8
# JPEG decoding: replace ownership comments with std::unique_ptr.
b587f9a457ee20bfc4e3055f3b79ad7b522c8682
# Convert //sql to use std::unique_ptr
d82cd995ba83303302900ebe7704a9fab405ef93
# Convert //chrome/browser/safe_browsing from scoped_ptr to std::unique_ptr
7bacc0eaa9eb6edb22c9e2734e0e57e64e8b4125
# Convert chrome/renderer to std::unique_ptr
fabb28482dce40e1ac570beb5b9eef5832f9a9b1
# convert //courgette to std::unique_ptr
1007a4af51fee305fd95933d9bdcd83c89f9df29
# Convert chrome/browser/printing to std::unique_ptr
6cb57924b37070a844c7626bc2ab8850c7cf17dd
# Convert //components/drive from scoped_ptr to std::unique_ptr
f427502355334e64faa24798a34f7db9f3bf7871
# Convert //chrome/browser/supervised_user from scoped_ptr to std::unique_ptr
f624e47486f525e6d266b99f90bcb81ad8f57295
# Convert chrome/common to std::unique_ptr
8b51c0ab6c7b58cfa186691dcc973527371b2309
# Replace scoped_ptr with std::unique_ptr in //ui
25c52c3f3c407fd9f5678c0079c877ccef34c090
# Convert //components/dom_distiller from scoped_ptr to std::unique_ptr
fecbe3fea62c512555c2f9c63b936331c9915619
# Convert pdf/ to use std::unique_ptr.
79ce717c93677da7d3db074bad0349995980ce93
# Convert //components/data_reduction_proxy from scoped_ptr to std::unique_ptr
5197113e6864b0530dd8b489615c089facd06e70
# Convert a few components from scoped_ptr to std::unique_ptr
532924d626b6538b547fd00793f0373bb5271df2
# Convert //chrome/test from scoped_ptr to std::unique_ptr
ba06265360528b619b4e6df792b0fb06350a2602
# Convert //chrome/browser/media_galleries from scoped_ptr to std::unique_ptr
5ea05e40ab4ad7a6f6dbd4fabd2ffe061d9e15f2
# Convert //chrome/browser/devtools from scoped_ptr to std::unique_ptr
b8eac3a8edbd7864438f5e326893fa52da75c16f
# Convert //chrome/installer from scoped_ptr to std::unique_ptr
f5d315cecedf2bc83f7499d9c4311215db51ecc6
# Convert media/formats to std::unique_ptr
f402ab9f3f02d00d87c840fe79863f4ac0609ba1
# Convert //chrome/browser/local_discovery from scoped_ptr to std::unique_ptr
bf70795c3d53b4c087b4276069bc8798048497da
# Convert //chrome/browser/net from scoped_ptr to std::unique_ptr
4e7c042ce7fda2baafe59dd88481b2de67644170
# Convert //chrome/browser/spellchecker from scoped_ptr to std::unique_ptr
4d0d72efb14b4746ff054fd1867058dc6997cafd
# Convert //chrome/browser/apps from scoped_ptr to std::unique_ptr
71f677162f1b860b005e20fc9c2f2417bdfb7030
# Convert //chrome/browser/metrics from scoped_ptr to std::unique_ptr
1edb03a4943e4e3de4116adcc031e2dfabbb7805
# Convert //chrome/browser/history from scoped_ptr to std::unique_ptr
b11f7ae342eeba3a126b8270171ab3c6981e0bf7
# Convert //chrome/browser/sync from scoped_ptr to std::unique_ptr
0569a0ed6347980265b437c61b5849ee2ca2c529
# Convert //chrome/browser/policy from scoped_ptr to std::unique_ptr
08cfe9ba9528151087b93894baaf4390a4ad75d0
# Convert //chrome/browser/search_engines from scoped_ptr to std::unique_ptr
878bd271da9444eba2a823fe30f0c316656b0d0d
# Change scoped_ptr to std::unique_ptr in //net/url_request.
8522a25bece204fd7281ec764af1e0c8e36329d6
# Change scoped_ptr to std::unique_ptr in //net/spdy.
aee3e1ec72a9985aa20be4ccf514774373737705
# Change scoped_ptr to std::unique_ptr in //net/socket.
655b66c64362dbea1b7e27207545234f7b908106
# Change scoped_ptr to std::unique_ptr in //net/websockets.
9c5cab5a712d0762319d115a30f5baed1d07416c
# Change scoped_ptr to std::unique_ptr in //net/quic.
ad1777e9c39dc1c7c4d4fb6293a01ca470595134
# Change scoped_ptr to std::unique_ptr in //net/disk_cache.
d04b92dd6de3bbe80c94955ac3347523e891f93d
# Change scoped_ptr to std::unique_ptr in //net/base.
42edb859e1917c96b988fa2f4e204de63aeb18ae
# Change scoped_ptr to std::unique_ptr in //net/dns.
22f90e716ad8674d122781cda62ab739ecb7271c
# Revert of Change scoped_ptr to std::unique_ptr in //net/base.
49964c23cbba511c110cfb642f5685694a895d49
# Change scoped_ptr to std::unique_ptr in //net/proxy.
8a98ca292bd722516ad23b2d85fdb5663a33dab3
# Change scoped_ptr to std::unique_ptr in //net/cert.
3a4770da8b56e8f4c0ef1a85f5786afe35f5401e
# Change scoped_ptr to std::unique_ptr in //net/http.
1fd259a0929d9c8ee68923e29ec1bd60d88f5690
# Change scoped_ptr to std::unique_ptr in //net/base.
7f767e658961d89959af3bd143e7719fcaca8445
# Change scoped_ptr to std::unique_ptr in //net.
a9850e17ec8a7e5e754d2b804ea1a93ff2352310
# Convert //chrome/browser from scoped_ptr to std::unique_ptr
4af48586364b625a8bfce51b10aa4a76109a9108
# Convert //chrome from scoped_ptr to std::unique_ptr
c0e39d57d0c16684ff7c99632fba9a49d4d2431e
# convert //gpu to std::unique_ptr
6682b1c4aac00aee61b09ba8f6084f1790429315
# Convert //extensions/renderer from scoped_ptr to std::unique_ptr
f6f806674c4f6ebbb8b20197ae5b6c7a40bba08f
# Convert //components/policy from scoped_ptr to std::unique_ptr
a3451b74e1aac0c538d7d6824bd714553eb0141e
# Convert //services from scoped_ptr to std::unique_ptr
39fafebd8ff93ca8aac361926e6b3ef840302328
# Convert //extensions/browser/api from scoped_ptr to std::unique_ptr
ccfc5401e32e24f29847cd91f643d03ed651b19a
# Convert //components/proximity_auth from scoped_ptr to std::unique_ptr
2f01269f405de0dfd12cb1dc56459c4492d65b8b
# Convert //services/ui from scoped_ptr to std::unique_ptr
c314381373dc794d3875428994ec7a74edda77e4
# Convert //components/exo from scoped_ptr to std::unique_ptr
31759da04512d5815aff6c30134e33856638889d
# Convert //extensions/browser from scoped_ptr to std::unique_ptr
f5d2410841791e8c32739a4418159489e1dde324
# Convert //components/sync_driver from scoped_ptr to std::unique_ptr
b21a1b10f9a753d3b66e448ca8fa74ac83d5c2cb
# Convert //jingle from scoped_ptr to std::unique_ptr
18e946f9ab6250614430fd09cccb849005ca7aeb
# Convert //components/gcm_driver from scoped_ptr to std::unique_ptr
a77e28eb3b14d816f2c880d3185af8522c04f6bc
# Convert //components/metrics from scoped_ptr to std::unique_ptr
d99c42a1a3c4566d5cdbac0bbbed5c266d09cfeb
# Convert //media/cast from scoped_ptr to std::unique_ptr
8a9783e4c8d986f835f8cc2760267d6c1c7b0b57
# Convert //components/bookmarks from scoped_ptr to std::unique_ptr
acd3f5279c9bc0c73f25976e1cdfa72f43309dba
# Convert //components/search_engines from scoped_ptr to std::unique_ptr
d967d950d071094d70cb480dc3158a48949a7167
# Convert //components/webcrypto from scoped_ptr to std::unique_ptr
7036d1e571ea31ea7ae35c9cc71890cef2fa90d7
# Convert //components/cronet from scoped_ptr to std::unique_ptr
fe3745e624cc39bca68defa70d92390baf897c8a
# Convert //components/history from scoped_ptr to std::unique_ptr
00dfa74c4fe33466816c58d175b60c3a5d4683b4
# Convert //components/omnibox from scoped_ptr to std::unique_ptr
259570ccaf98009037d611aac72e9d809d4d438f
# Convert //mojo from scoped_ptr to std::unique_ptr
40c732a8f3bb63cc6a16a200819f9d01da3e6039
# Convert //media/filters from scoped_ptr to std::unique_ptr
254c536ce14380dc8009240cfff27117a1d52897
# Convert //components/sessions from scoped_ptr to std::unique_ptr
c51ac9e88916cb09ed5f0c4ea7d00d835f4223c7
# Convert //media/capture from scoped_ptr to std::unique_ptr
b8259a16dea373e71505b1f8d9a02b96612161df
# Convert //components/domain_reliability from scoped_ptr to std::unique_ptr
04a35cd4ca655ce8092705d501678ba9edfd005a
# Convert //components/scheduler from scoped_ptr to std::unique_ptr
c0d9887721c7d00ad99a7df09ebae75720503a6a
# Convert //components/update_client from scoped_ptr to std::unique_ptr
d0fc6aa9a949b8093d5e836e3d6443e869495c6a
# Convert //components/content_settings from scoped_ptr to std::unique_ptr
b94ac84f0dc33dcba4d27424777a14fadbb659ef
# Convert //components/nacl from scoped_ptr to std::unique_ptr
24f43a5e9841b7177688291a625a373c3b8ba365
# Convert //components/prefs from scoped_ptr to std::unique_ptr
5f043bc0ea7c069e3ef5e6ef903b98f4e84ec4cb
# Convert //components/user_prefs from scoped_ptr to std::unique_ptr
b707c5c8bed8656c800f613b46967b916e1a7f44
# Convert //media/blink from scoped_ptr to std::unique_ptr
3076abbf53ffb74830a097f1c4f7dd232f246fad
# Convert //components/data_usage from scoped_ptr to std::unique_ptr
154b22210617a1f3f58d0a19d8b30ea9409b98e4
# Convert //extensions/{common,shell} from scoped_ptr to std::unique_ptr
7c2ca35e78f7ba433da3eef399753148fe30f127
# Convert //components/offline_pages from scoped_ptr to std::unique_ptr
e399ff07e13116e446b1ee904c1f6c970eb5bc3b
# Convert //components/copresence from scoped_ptr to std::unique_ptr
477cae30f89224646d3135ae03cdf93d4901dd78
# Convert //components/browser_sync from scoped_ptr to std::unique_ptr
d4593e75ceb64dbf966fc77530f4bd38cdcb687c
# Replace scoped_ptr with std::unique_ptr in //components/signin
fc1ac3074134f30e46543f5d9ca97d5d2a6d0282
# Convert //components/json_schema from scoped_ptr to std::unique_ptr
6430b2ca82390ebcecedc6c0dbf54008af8322ca
# Replace scoped_ptr with std::unique_ptr in //components/syncable_prefs
4d55af59cf486412be6e5e458417f6a423abd7da
# Replace scoped_ptr with std::unique_ptr in //components/suggestions.
501f801f0aa603ae08f213091de67f23476eb40e
# Convert scoped_ptr to std::unique_ptr in //components/translate.
396f876cf9e02a21687bb78364c2e3c930287e9e
# Use std::unique_ptr in components/search_provider_logos.
ef0ef5d8d5ac805e400ed5826a8b9ca57aececbe
# Replace scoped_ptr with std::unique_ptr in //components/sync_sessions
5b9c7ed6b732c9b65c851413d0fa5612edc95b85
# Convert //third_party from scoped_ptr to std::unique_ptr
91cdd51340b8f6a0cc13ec9f5199defbea6cd49c
# Convert //extensions from scoped_ptr to std::unique_ptr
4a7e93b6b2a43ecf9476695bb9046d59a39629dc
# Convert //components/guest_view from scoped_ptr to std::unique_ptr
bb7e2b70c8aace67356a53230d104738ebc92693
# Convert //components/safe_browsing_db from scoped_ptr to std::unique_ptr
45f93419065eb07f861fe59e3f969e2b3255b2ed
# Convert //components/invalidation from scoped_ptr to std::unique_ptr
b753c6fb8b539a9c5febe08f6b159f01b98ecfa8
# Convert //media/audio from scoped_ptr to std::unique_ptr
7089de047f9845b19afd5b671ace13aa1aa3ad42
# Convert scoped_ptr to std::unique_ptr in //ipc.
03de39b2f64eb2e9fbe69947be3d10042f30469e
# Convert //components/[u-z]* from scoped_ptr to std::unique_ptr
3f767dc3724b2e3f36c17ee760007475de7e63cc
# Convert //components/[o-t]* from scoped_ptr to std::unique_ptr
82beb4ff418b0dcb40bd6b860d2e9793a0193118
# Replace scoped_ptr with std::unique_ptr in //media/base.
6aaed6a40bc23a872e14f19a39ff2d7998c803d0
# Convert //components/[a-e]* from scoped_ptr to std::unique_ptr
a0ee5fb8a4dbf546b8da197a055dd3997f3dc475
# Replace scoped_ptr with std::unique_ptr in //media.
4d43bc26cc5d105edb1e976582803ea931e572e1
# Convert //components/[f-n]* from scoped_ptr to std::unique_ptr
84c358e7a3b1658bf396d39716fb0fffbb0aa018
# Move code in ui/gl/* from gfx:: to gl::
7a4638457b6cb7ba351c57b98f1871209604cb81
# Remove OwnPtr from Blink.
f5f08765522594f41a1c032754e4fbc30e90c134
# clang-format all of //ash
b8dcef526018a47e7cd985cef724c464d0d958a6
# Re-write many calls to WrapUnique() with MakeUnique()
f7a5d36f502f953bdceaeb9a4c31ab621f89be08
2b385fe1ca886bbfbc38648f1498a154ac85925a
c4bfd81cdab01a081b08d362b864df0dcac4740a
d689a77f1fcbd63909fc6eebf3df553715fef9bf
ed4d66a321cf2f053ce0c3c81e8ad51a453d75ec
7344d1ab4a98fedab5e75070a8b03aa894ff3b74
c5ddf366ba98d052497b5dc56187704f914ec8f6
6c0773df4a2c301b1d109c9a1ce50b2181fceb50
a40b2de1242abca45b546dc13114d1a5aaa41134
c9462d4d25114bbdfa25f6e1ca28eca3303e8286
799a1fd2f3dcb409f751b950f767db427664cbd1
eb5cdbe2b1cb6dedbb51c544b0cc94b20984eadf
68860bd0684a7cfdc2bf07ff768bd540a60a6e9e
5e27337b381e1ee8c487f4b4cab71a9a0e6d1b0f
04dff7f22bbbbfe8b696e7f0dba2c11fdb6f38ed
85bddde312d17e38e859de39f861711d504732b6
6affa5574c8085dfc255f13ff49cb19edbc96ad9
fccaf874e0338cd3a27c0ef71c635399d2197de2
df0a9da0c9e6b7ceed46e057ea5ad87a97932b9c
08e66e6f17755de8d0082593183f7d67ce13cb57
da4bffb6ef5cb7c8894c64d4666ac6a5da4d80fb
8133ff702313ecbb52f3903838418cf5de676ab5
ebb92b4123f784b2fc950a2e762b0ef2c8342764
46ad5f4fc0f8d35f71c890431e8e4518d228f2e3
1f0ae4df06a2a8c764c3659679525a201d7a20e7
b6983d553d1cd861d8f7c42a07ee209da696e1d5
0c937aa64f5309be50d077dd0d29014cf2d0e9b3
bb40326f4ba96cb2691e33855d07a75cbb9c57b7
edb3f078970c02c48cb0eccc07170e9463f63eda
3cdd7ebe8bd324d3174e8ec3253190908e717a36
175211e0e340c1e0a01286b96aca51e700294b5b
bc3c05e020ebed67cf32ff9648e7ed2b0e9f82c3
91d6fc12ddbd78adc66ca00d54a9c318b4e3b6b7
8fcde24af7919904a7f2f9b9d452da8c575095db
29649b991045c05394dc42641068934b9d494e80
85ec579564402fad9b6f0d593decf686846fb61f
34f9699d9be6dd32931c9e694f61b3022346f4e5
55d8215215c10a413f227b8bcf0e3a826e7b5b2a
641bb021db42cdfd711a97bdc16077c64bb87aea
9b4b8464d50e235b25ceb2872d44d09a258837f2
d4fe03704abb4c3628cddff5c7aa8f82b86b2b21
2deef68d60652155b338b88b1acc1f4be1c51ee3
ec7c3997e21fc154ab89a26779d00220c48324f4
86fa1dd92331ce969c55ade017aab9950e0c5156
a63ce1fb29a4c1aa568d916aaba717986d515b86