^<\?xml version="1\.0" encoding="UTF-8"\?>$
^<!--$
^ *(/\*|#|~)$
^ *(\*|#|~) +Licensed to the Apache Software Foundation \(ASF\) under one or more$
^ *(\*|#|~) +contributor license agreements\.  See the NOTICE file distributed with$
^ *(\*|#|~) +this work for additional information regarding copyright ownership\.$
^ *(\*|#|~) +The ASF licenses this file to You under the Apache License, Version 2\.0$
^ *(\*|#|~) +\(the "License"\); you may not use this file except in compliance with$
^ *(\*|#|~) +the License\.  You may obtain a copy of the License at$
^ *(\*|#|~)$
^ *(\*|#|~) +http://www\.apache\.org/licenses/LICENSE-2\.0$
^ *(\*|#|~)$
^ *(\*|#|~) +Unless required by applicable law or agreed to in writing, software$
^ *(\*|#|~) +distributed under the License is distributed on an "AS IS" BASIS,$
^ *(\*|#|~) +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\.$
^ *(\*|#|~) +See the License for the specific language governing permissions and$
^ *(\*|#|~) +limitations under the License\.$
^ *(\*|#|~)$
